js promise实现原理

Posted vieber

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js promise实现原理相关的知识,希望对你有一定的参考价值。

简单实现版本

class Promise 
    callbacks = [];
    state = 'pending';
    value = null;
    constructor(fn) 
        fn(this._resolve.bind(this))
    
    then(onFulfilled) 
        if (state === 'pending') 
            this.callbacks.push(onFulfilled);
           
        else 
            onFulfilled(this.value);
        
        
        return this;
    
    _resolve(value) 
        this.state = 'fulfilled';
        this.value = value;
        this.callbacks.forEach(fn => fn(value));
    

以上是关于js promise实现原理的主要内容,如果未能解决你的问题,请参考以下文章

Promise的实现

Node.js插件编写-本地安全线程实现JS Promise

Node.js插件编写-本地安全线程实现JS Promise

Node.js插件编写-本地安全线程实现JS Promise

异步编程二三事 | Promise/async/Generator实现原理解析

深入理解 promise:promise的三种状态与链式调用