簡體   English   中英

為什么我的 Promise 定義會被執行?

[英]Why does my Promise definition gets executed?

我對 Promises 很陌生,想知道為什么我的 Promise 定義在沒有調用.then()或解決它的情況下被執行。

var promise = new Promise(function (resolve, reject) {
     console.log("Starting loader");
     resolve();
});

如果您運行示例並看到控制台,您將看到“正在啟動加載程序”消息。

https://jsfiddle.net/npqgpcud/

這就是 Promise 的定義方式。 他們立即運行他們的執行程序功能。 它在規范中: Promise(executor) ,第 9 步。

這是揭示構造函數模式的一個實例; 閱讀可能有助於您理解。

發生這種情況是因為承諾立即同步執行。

.then()添加將在承諾完成( resolve參數)或被拒絕( reject參數)時執行的函數。

來自@Kirill Slatin 評論的信息

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM