Promise(许诺)

Promise(许诺)

//用来处理异步的一些问题
    let p = new Promise(function(resolve,refused){
        console.log("abc");
        //resolve();
        setTimeout(function(){
            resolve();
        },3000); 
        console.log("123");
    });
    //console.log("123");不会等着定时器里的实行后实行,而是直接就实行了。

    p.then(function(){
        console.log("def");
    });

    function sleep(times){
        return new Promise(function(resolve,refused){
            setTimeout(function(){
                resolve();
            },times);
        });
    }
            
    let pr = new Promise(function(resolve,refused){
        setTimeout(function(){
            resolve();
        },1000);
    });


    pr.then(function(){
        console.log(1);
        return sleep(2000);
    }).then(function(){
        console.log(2);
        return sleep(3000);
    }).then(function(){
        console.log(3);
        return sleep(4000);
    }).then(function(){
        console.log(4);
    });

    let p3 = new Promise(function(resolve,refused){
        resolve();
        refused("失利了");
    });
    p3.then(function(){
        console.log("edf");
    }).catch(function(e){
        console.log(e);
    });
            
解释:1.Promise(许诺)的状况一共有三种:挂起状况,胜利状况,失利状况。
      2.then:只要在胜利时才会实行。
      3.catch:只要在失利时才会实行。
    原文作者:songze
    原文地址: https://segmentfault.com/a/1190000010243928
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞