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