我正在閱讀有關JavaScript承諾的文檔(https://developers.google.com/web/fundamentals/getting-started/primers/promises),其中一個示例使用了一系列承諾。何時執行Javascript承諾
// Start off with a promise that always resolves
var sequence = Promise.resolve();
// Loop through our chapter urls
story.chapterUrls.forEach(function(chapterUrl) {
// Add these actions to the end of the sequence
sequence = sequence.then(function() {
return getJSON(chapterUrl);
}).then(function(chapter) {
addHtmlToPage(chapter.html);
});
})
我很好奇它是如何工作的,因爲我認爲它會在第一個.then添加到承諾序列時開始執行代碼。當我調試代碼時,只有在腳本標記中執行了最後一行代碼之後,纔會執行承諾序列。所以我的問題是什麼時候承諾實際上被執行?謝謝。
是您編寫完整腳本的腳本嗎?因爲那麼很明顯,那麼它就會在所有事情之後出現。 –
檢查此:https://stackoverflow.com/questions/36870467/what-is-the-order-of-execution-in-javascript-promises –