1、promise的状态

        new Promise((resolve,reject)=>{
            console.log("第一层")
            resolve()
        }).then(_=>{
            console.log("then1")
            reject()    //无效
        }).then(_=>{
            console.log("then2Success")  //输出
        },_=>{
            console.log("then2Fail")  //未输出
        })

可以看出promise的状态的reject会一直传递下去,后续直接写resolve()是无法改变状态的

那么如何改变状态呢?如下

        new Promise((resolve,reject)=>{
            console.log("第一层")
            resolve()
        }).then(_=>{
            console.log("then1")
            return Promise.reject() //有效
        }).then(_=>{
            console.log("then2Success") //未输出
        },_=>{
            console.log("then2Fail") //输出
        })

猜你喜欢

转载自blog.csdn.net/weixin_43939111/article/details/112874147