promise是什么?有哪些状态和参数?如何使用?

promise是什么?
promise对象本质上其实是一个构造函数,就是用来解决异步编程,主要用于异步计算,解决了回调地狱的问题,不是多重嵌套,而是链式调用,使用.then方法,就是针对回调函数的改进

promise的三个状态是什么?
1.pending初始状态
2.fulfilled操作成功状态
3.rejected操作失败状态
Promise对象的状态改变只有两种可能:
从pending变为fulfilled,即从初始状态变为成功状态
从pending变为rejected,即从初始状态变为失败状态
这两种情况只要发生,状态就凝固了,不会再变了。(状态改变不可逆)

promise有哪些参数?
promise接受一个函数作为参数,函数有两个参数(resolved,rejected)

resolve函数的作用是,将Promise对象的状态从“未完成”变为“成功”(即从 pending 变为 resolved),在异步操作成功时调用,并将异步操作的结果,作为参数传递出去;
reject函数的作用是,将Promise对象的状态从“未完成”变为“失败”(即从 pending 变为 rejected),在异步操作失败时调用,并将异步操作报出的错误,作为参数传递出去。
用法:

var promise = new Promise((resolve, reject) => {
    
    /* executor函数 */
    // ... some code
    if (/* 异步操作成功 */){
    
    
        resolve(value);
    } else {
    
    
        reject(error);
    }
});

猜你喜欢

转载自blog.csdn.net/weixin_53944118/article/details/114920118