0
承诺解决后,我们可以使用.then方法,它什么时候运行?它解决后立即运行吗?例如,在下面的例子中,一旦Javascript出现,promise就会“准备就绪”,仪式?没有什么大事。由于承诺中没有大的计算,为什么.then方法在其他所有方面都运行?由于Javascript - 一旦解决了承诺的结果,何时可用?
let $body = $('#mainBlock');
let checker = true;
let testPromise = new Promise(
function(resolve, reject)
{
if(checker)
{
resolve();
$body.append('<p>CodeHasFinished</p>');
}
}
);
$body.append('<p>before</p>');
testPromise.then(function(){
$body.append('<p>middle</p>');
});
$body.append('<p>after</p>');
/*
Result added to body->
CodeHasFinished
before
after
middle
*/
'。那么()'不保证返回结果同步 – guest271314
我应该假设{}。那么一切都将运行后其他?谢谢 –
尽量不要“承担”任何事情,在这里。如果你想使用'Promise'链,链'.then()'和'.catch()'并且在传递给'.then()'和'.catch()'的函数中执行任务。如果你想使用同步代码,使用同步代码。你为什么试图同步异步代码的同步代码?你想达到什么目的? – guest271314