资讯专栏INFORMATION COLUMN

Promise(承诺)

tianhang / 2435人阅读

摘要:承诺用来解决异步的一些问题不会等着定时器里的执行后执行,而是直接就执行了。失败了注释承诺的状态一共有三种挂起状态成功状态失败状态。

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:只有在失败时才会执行。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/84124.html

相关文章

  • 理解 Javascript 中的 Promise

    摘要:理解承诺有两个部分。如果异步操作成功,则通过的创建者调用函数返回预期结果,同样,如果出现意外错误,则通过调用函数传递错误具体信息。这将与理解对象密切相关。这个函数将创建一个,该将在到秒之间的随机数秒后执行或。 想阅读更多优质文章请猛戳GitHub博客,一年百来篇优质文章等着你! showImg(https://segmentfault.com/img/bVbkNvF?w=1280&h=...

    paulli3 评论0 收藏0
  • 理解 Javascript 中的 Promise

    摘要:理解承诺有两个部分。如果异步操作成功,则通过的创建者调用函数返回预期结果,同样,如果出现意外错误,则通过调用函数传递错误具体信息。这将与理解对象密切相关。这个函数将创建一个,该将在到秒之间的随机数秒后执行或。 想阅读更多优质文章请猛戳GitHub博客,一年百来篇优质文章等着你! showImg(https://segmentfault.com/img/bVbkNvF?w=1280&h=...

    chaos_G 评论0 收藏0
  • ES6的Promise:要优雅,也要浪漫

    摘要:就算改变已经发生了,即使再对对象添加回调函数,也会立即得到这个结果。方法接收个参数,第一个参数是状态的回调函数,第二个参数可选是状态的回调函数。简单来讲,就是能把原来的回调写法分离出来,在异步操作执行完后,用链式调用的方式执行回调函数。 在ECMAScript 6标准中,Promise被正式列为规范,Promise,字面意思就是许诺,承诺,嘿,听着是不是很浪漫的说?我们来探究一下这个浪...

    weizx 评论0 收藏0
  • Angular $q 完全指南

    摘要:假设家具厂在一周后做完了这个衣柜,并如约送到了张先生家包邮哦,亲,这就叫做衣柜,也就是已解决。这样,整个异步流程就圆满完成,无论成功或者失败,张先生都没有往里面投入任何额外的时间成本。 如果想使用 $http 或者其他异步操作, 那 $q 是必须要掌握的概念啦. Lets get started! 如何理解$q, deferred object ? 形象的讲解angular中的$q与p...

    U2FsdGVkX1x 评论0 收藏0
  • 【全栈React】第15天: Promise简介

    摘要:使用承诺对象使我们有机会将异步操作的最终成功或失败关联到功能无论出于何种原因。例如在上面的示例中函数解析为值在成功完成时并在返回值这是另一个承诺上调用函数依此类推等等。这意味着我们只能返回一个承诺一次。 本文转载自:众成翻译译者:iOSDevLog链接:http://www.zcfy.cc/article/3814原文:https://www.fullstackreact.com/30...

    felix0913 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<