JavaScript Promise 是一種處理非同步操作的方法。當 Promise 被解析時,它會在目前執行緒完成後非同步執行其 .then() 處理程序。這意味著當前執行緒中的任何同步程式碼都將在 .then() 處理程序之前執行。
考慮以下代碼片段:
<code class="javascript">Promise.resolve('A') .then(function(a){console.log(2, a); return 'B';}) .then(function(a){ Promise.resolve('C') .then(function(a){console.log(7, a);}) .then(function(a){console.log(8, a);}); console.log(3, a); return a;}) .then(function(a){ Promise.resolve('D') .then(function(a){console.log(9, a);}) .then(function(a){console.log(10, a);}); console.log(4, a);}) .then(function(a){ console.log(5, a);}); console.log(1); setTimeout(function(){console.log(6)},0);</code>
結果此代碼片段的內容為:
<code class="text">1 2 "A" 3 "B" 7 "C" 4 "B" 8 undefined 9 "D" 5 undefined 10 undefined 6</code>
這段程式碼的執行順序是:
以上是JavaScript Promise 的執行順序是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!