资讯专栏INFORMATION COLUMN

Promise挂载

terasum / 3428人阅读

摘要:使用可以避免回调函数的层层嵌套,还提供了规范更加容易的对异步操作进行控制。提供了和等方法有三种状态挂起状态成功状态失败状态是之后原生的对象,我们只需要实例化对象就可以直接使用。实例化定时器用执行成功成功之后执行方法失败失败之后执行方法

使用Promise可以避免回调函数的层层嵌套,还提供了规范更加容易的对异步操作进行控制。提供了reject,resolve,then和catch等方法

Promise有三种状态:
挂起状态 成功状态 失败状态

Promise是ES6之后原生的对象,我们只需要实例化Promise对象就可以直接使用。实例化Promise:

    
    var p = new Promise(function(resolve,refused){
        console.log("abc");//abc
        //resolve();
        setTimeout(function(){
            resolve();
        },3000)//定时器
        console.log("123");
    });
    p.then(function(){
        console.log("dfe")//用resolve()执行
        });*/
    setTimeout(function(){
        console.log(1);
        setTimeout(function(){
            console.log(2)
            setTimeout(function(){
                console.log(3);
            },3000)
        },2000)
    },1000);*/


    var p1=new Promise(function(resolve,refused){
        setTimeout(function(){
            resolve()
        },1000);
    });
    p1.then(function(){
        console.log(1);
            /*return new Promise(function(resolve,refused){
                setTimeout(function(){
                    resolve();
                },2000);
            });*/
        return sleep(2000);
        
    }).then(function(){
        console.log(2);
        /*return new Promise(function(resolve,refused){
                setTimeout(function(){
                    resolve();
                },3000);
        });*/
    return sleep(3000);
    }).then(function(){
        console.log(3);
    });




    function sleep(times){
        return new Promise(function(resolve,refused){
                setTimeout(function(){
                    resolve();
                },2000);
            });
    }


    var pp=new Promise(function(resolve,refused){
        //resolve()
        refused();
    });
成功

成功之后执行then方法

    /*pp.then(function(){
        console.log("ffffdfff")
    })
失败

失败之后执行catch方法

    pp.catch(function(){
        console.log("llll")
    })

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

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

相关文章

  • Vue项目数据动态过滤实践

    摘要:因此在这个项目做完等待测试的时候我思考了一下,谁说过滤器就一定放在里面。 这个问题是在下在做一个Vue项目中遇到的实际场景,这里记录一下我遇到问题之后的思考和最后怎么解决的(老年程序员记性不好 -。-),过程中会涉及到一些Vue源码的概念比如$mount、render watcher等,如果不太了解的话可以瞅瞅 Vue源码阅读系列文章 ~ 问题是这样的:页面从后台拿到的数据是由0、1之...

    codergarden 评论0 收藏0
  • axios源码阅读(一)

    摘要:开始研究核心代码这个类首先是构造函数看完上面的内容大家应该有点印象,上挂了和,是默认的配置,顾名思义就是拦截器,目测包含了和两种类型。喜欢就点个赞吧参考文章源代码重点难点分析源代码重点难点分析 axios是一个基于promise的http库,支持浏览器和node端,最近我在做beauty-we的api设计,研读一个成熟的http库势在必行,axios功能完整、api简洁、注释清晰,再适...

    k00baa 评论0 收藏0
  • KOA2框架原理解析和实现

    摘要:实现的四大模块上文简述了源码的大体框架结构,接下来我们来实现一个的框架,笔者认为理解和实现一个框架需要实现四个大模块,分别是封装创建类构造函数构造对象中间件机制和剥洋葱模型的实现错误捕获和错误处理下面我们就逐一分析和实现。 什么是koa框架?        koa是一个基于node实现的一个新的web框架,它是由express框架的原班人马打造的。它的特点是优雅、简洁、表达力强、自由度...

    tracymac7 评论0 收藏0
  • KOA2框架原理解析和实现

    摘要:实现的四大模块上文简述了源码的大体框架结构,接下来我们来实现一个的框架,笔者认为理解和实现一个框架需要实现四个大模块,分别是封装创建类构造函数构造对象中间件机制和剥洋葱模型的实现错误捕获和错误处理下面我们就逐一分析和实现。 什么是koa框架?        koa是一个基于node实现的一个新的web框架,它是由express框架的原班人马打造的。它的特点是优雅、简洁、表达力强、自由度...

    liangzai_cool 评论0 收藏0

发表评论

0条评论

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