Promise对象

一:Promise对象的含义

一个对象,里面存着某个未来才会结束的事件(异步操作)

有三个状态:

 1.pending 进行中

 2.fulfilled(resolved) 成功

 3.rejected 失败

状态改变只能由异步操作的结果决定

1.pending----resolved 进行中变为成功

2.pending----rejected 进行中变为失败

二:Promise用法

promise对象实质是一个构造函数,接受一个函数作为参数,该函数有两个参数resolvereject

在jquery中我们的异步操作一般写在回调中,若出现多个异步,回调嵌套着回调,采用promise语法更简洁

1.创建实例

 const promise=new Promise(function(resolve,reject){
            if (/* 异步操作成功 */){
                resolve(value);//进行-成功
            } else {
                reject(error);//进行-失败
            }
    })

resolve() 使状态由pending----resolved

reject()使状态由pending----rejected

2.实例生成后使用then方法分别指定resolved,rejected状态下的回调函数

promise.then(function(value){执行成功函数},function(error){执行失败函数})

注意:成功状态下调用的回调函数的参数value即resolve(value)中的value

    失败状态下调用的回调函数的参数error即reject(error)中的error

最好类似try--catch写法

 promise.then(function(){成功}).catch(function(err){失败})

若实例中是普通函数,则会立即执行内容

 let promise = new Promise(function () {
            console.log('Hello World')
        })//打印Hello World

若是异步函数如定时器,则需通过then方法调用回调函数才有效果

 const promise=new Promise(function(resolve,reject){
           setInterval(()=>(resolve('hh')),1000)//resolve()异步成功
       })
        promise.then(function(value){console.log(value)})//过1秒后打印hh


 

 




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值