promise各种实现中都维护了一个数组_deferreds保存then方法注册的回调函数集,什么时候这个数组能达到2项?

cjwj
  • 628

我查看了多种promise实现的文章,都表示需要维护一个_deferreds保存then方法注册的回调函数集信息,也有些实现维护onResolvedCallbackonRejectedCallback来维护。

但很多都没有说明_deferreds为何需要是一个数组。或者对_deferreds的说明都是比较模糊,我技术还不到家不能直接看明白。

比如这篇里
作者称then方法可被同一个promise调用多次,所以需要是初始化为一个数组,我不清楚什么情况下then方法会被同一个promise调用多次。

求给出代码说明这种情况!

回复
阅读 1.2k
1 个回答

假如我需要在3s后,执行任务1和任务2,那就要写成下面的形式

function f1(){}
function f1(){}
var promise = new Promise((resolve) => {
    setTimeout(resolve, 3000)
})
promise1.then(f1)
promise1.then(f2)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏