promise 实现
Posted he-zhi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了promise 实现相关的知识,希望对你有一定的参考价值。
···js
function Promise(fn) {
let state = "pending";
let val = null // 异步执行的值(结果)
let deffer = [];
this.then = function(onFulfilled) {
if(state === "pending") {
deferreds.push(onFulfilled);
return this;
}
onFulfilled(value);
return this
}
function resolve(newValue) {
value = newValue;
state = "fulfilled";
// deferred(value);
// 保证deferred 有值
setTimeout(() => {
deffer.forEach((deferred) => {
deferred(value);
});
}, 0);
}
fn(resolve);
}
new Promise((resolve, reject)=> {
if (true){
resolve(3);
} else {
reject(error);
}
}).then((res)=> { console.log(res)})
···
以上是关于promise 实现的主要内容,如果未能解决你的问题,请参考以下文章