理解Promise 建構子回呼的執行時序
建構Promise 物件時,回呼函數內提供的程式碼不會立即執行,而是會立即執行。根據 Promise 規範,相當同步。這意味著一旦 Promise 初始化,就會執行回呼。
考慮以下程式碼片段:
function doSomethingAsynchronous() { return new Promise((resolve) => { const result = doSomeWork(); setTimeout(() => { resolve(result); }, 100); }); }
在這種情況下,函數 doSomeWork 會在承諾的建設。 setTimeout 函數用於延遲resolve 函數的執行以用於演示目的,但它不會影響 doSomeWork 呼叫的同步性質。
Promise 規格要求執行器函數(即提供的回呼)建立 Promise 時立即呼叫建構子。這確保了執行器函數的同步行為是一致的,從而可以可靠地處理非同步進程和其他可能依賴其結果的任務。
以上是Promise 建構函數回呼何時執行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!