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 实现的主要内容,如果未能解决你的问题,请参考以下文章

前端面试题之手写promise

澄清 node.js + promises 片段

什么时候然后从Promise.all()的子句运行?

深入 Promise——Promise 实现详解

promise实现原理代码

Promise原理及实现