非同步執行Promise建構子回呼
問題:
問題:<code class="python">function y(resolve, reject) { console.log("Result"); resolve(); } var promise = new Promise(y);</code>
y函數會非同步執行還是同步執行?
答案:promise建構子回呼的執行取決於具體實現ES6 規範第25.4.3.1 節中規定:
不拋出異常,則Promise 物件必須分兩步驟建構:『
"...執行EnqueueJob("PromiseJobs", PromiseReactionJob, «fulfillReaction, value»)."類似地,如果Promise 被拒絕,演算法將執行非同步作業排隊。
結論:因此,傳遞給Promise 建構函數的函數是同步執行的,而根據ES6 規範,後續的.then() 呼叫總是異步執行的。以上是Promise建構函式回呼是同步執行還是非同步執行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!