鍍金池/ 問(wèn)答/HTML/ promise各種實(shí)現(xiàn)中都維護(hù)了一個(gè)數(shù)組_deferreds保存then方法注冊(cè)

promise各種實(shí)現(xiàn)中都維護(hù)了一個(gè)數(shù)組_deferreds保存then方法注冊(cè)的回調(diào)函數(shù)集,什么時(shí)候這個(gè)數(shù)組能達(dá)到2項(xiàng)?

我查看了多種promise實(shí)現(xiàn)的文章,都表示需要維護(hù)一個(gè)_deferreds保存then方法注冊(cè)的回調(diào)函數(shù)集信息,也有些實(shí)現(xiàn)維護(hù)onResolvedCallbackonRejectedCallback來(lái)維護(hù)。

但很多都沒(méi)有說(shuō)明_deferreds為何需要是一個(gè)數(shù)組?;蛘邔?duì)_deferreds的說(shuō)明都是比較模糊,我技術(shù)還不到家不能直接看明白。

比如這篇里
作者稱(chēng)then方法可被同一個(gè)promise調(diào)用多次,所以需要是初始化為一個(gè)數(shù)組,我不清楚什么情況下then方法會(huì)被同一個(gè)promise調(diào)用多次。

求給出代碼說(shuō)明這種情況!

回答
編輯回答
真難過(guò)

假如我需要在3s后,執(zhí)行任務(wù)1和任務(wù)2,那就要寫(xiě)成下面的形式

function f1(){}
function f1(){}
var promise = new Promise((resolve) => {
    setTimeout(resolve, 3000)
})
promise1.then(f1)
promise1.then(f2)
2017年8月28日 06:59