Promise使用笔记

2018-06-12  本文已影响0人  中華田園雞

Promize可理解为一个状态机
有三种状态 pending,fulfilled 和

试验一

当catch存在时 reject的回调会直接往catch传参
    function promise(){
        return new Promise(function(resolve, reject){
            setTimeout(function(){
                console.log('执行完成');
                if(!true){
                    resolve('正确');
                }else{
                    reject("错误")
                }
                
            }, 2000);
        });
    }
    promise().then(res=>{
           console.log(res)
           console.log(hello),
        res=>{
           asadasdasdas
           console.log(res+"我前面执行了一断错误的代码")
           
        }
    }).catch(res=>{
        console.log(res+"直接跳到这里来")
        console.log("继续执行") 
    })
    

运行结果

试验二

当执行then()里的 resolve 出错时 会往catch抛出异常

function promise(){
        return new Promise(function(resolve, reject){
            setTimeout(function(){
                console.log('执行完成');
                if(true){
                    resolve('正确');
                }else{
                    reject("错误")
                }
                
            }, 2000);
        });
    }
    
    promise().then(res=>{
           console.log(res)
           aaaa

        res=>{
           asadasdasdas
           console.log(res+"我前面执行了一断错误的代码")
           
        }
    }).catch(res=>{
        console.log(res+"直接跳到这里来")
        console.log("继续执行") 
    })
    

执行结果

上一篇 下一篇

猜你喜欢

热点阅读