Promise(详解)--前端es6

一、前提了解----回调地狱:就是在 异步请求中 嵌套 异步请求

 异步请求 嵌套 异步请求,页面结构繁琐。为了优化页面结构,在实现  异步程序依次执行  

的基础上,还能写成同级结构形式。es6新增的Promise正是来解决回调地狱的。

二、Promise程序执行的具体步骤

1、使用JavaScript内置的构造函数Promise创建对象

         const p=new Promise(function(r,f){

               ajax({

                        url,

                        data,

                        dataType,

                        success:function(res){r(res)},

                        error:function(res){f(res)}

                }) ;

        })

                p.then(function(参数){请求成功执行的程序})

                p.catch(function(参数){请求失败执行的程序})

     解释:

      (1)构造函数的参数 是一个匿名函数。匿名函数中 设定 两个参数,参数1(一般为resolve)表示 执行成功 对应执行的函数程序。参数2(一般为reject)表示 执行失败 对应的函数程序。

      (2)匿名函数中 设定要执行的异步程序,异步程序不是独立执行的异步程序,而是通过promise来帮助我们执行异步程序。(比如:ajax请求、定时器、延时器)  

      (3)p.then(function(参数){})设定 请求成功 执行的程序;

               p.catch(function(参数){})设定 请求失败 执行的程序

2、Promise有三个执行状态(一个状态被触发,其他状态就不会触发了)

                执行中(pending)

                执行成功(fulfilled)

                执行失败(rejected)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值