微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

promise

//  executor  function(resolve, reject) {...}   );
const PENDING = 'pending'
const RESOLVED = 'resolved'
const REJECTED = 'rejected'
function MyPromise(executor) {
    status=PENDING;
    callbacks = [];

    function resolve(val) {
        debugger;
        this.callbacks[0](val);
    }

    function reject(reason) {

    }

    executor(resolve, reject);

}

MyPromise.prototype.then = (onResolve, onReReject) => {
    this.callbacks.push(onResolve)
}


var p = new MyPromise(
    function (res, rej) {
        debugger
        console.log('1');
        setTimeout(() => {
            debugger
            console.log('a')
            res('ok')
        }, 1000);
    }
);
p.then((val) => {
    console.log(val)
})

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐