第一次掘金写文章~~~~太久没写博文了语言组织可能不大行 见谅嗷
promise雏形
不知道有没有人跟我一样,看到这个promise的使用发觉这不就是个发布订阅模式吗,then的成功和失败回调函数分别注册订阅成为之后resolve和reject调用发布时需要调用的函数 那么最简雏形应该是
class Promise2 {
constructor(func) {
this.resSubs = [];
this.rejSubs = [];
let resolve = data => {
this.data = data;
this.resSubs.forEach(item => {
item(this.data);
});
};
let reject = data => {
this.data = data;
this.rejSubs.forEach(item => {
item(this.data);
});
};
func(resolve, reject);
}
then(f1, f2) {
this.resSubs.push(f1)
this.rejSubs.push(f2)
}
}
待续