封装简单的Promise,简单易懂!

173 阅读1分钟

上代码:

/**
 * 封装简单的Promise
 * @param {回调函数} callback 
 */
function MyPromise(callback) {
    this.then = (resolve, reject) => {
        callback(resolve, reject)
    }
}

let myPromise = new MyPromise((resolve, reject) => {
    let num = Math.floor(Math.random() * 10);
    if (num < 5) {
        resolve(num);
    } else {
        reject(num);
    }
});

myPromise.then((res) => {
    console.log(res, "成功了!");
}, (res) => {
    console.log(res, "失败了!");
});