Promise的使用

什么是Promise

Promise 表示未来的某个时间一定会返回的结果,它是一个容器,里面报过了一些异步操作 ,他表示一个预计会在完成的异步操作

Promise实例

function chiFan() {
    return new Promise(function(resolve, reject) {
        console.log("chiFan");
    })
}

function shuiJiao() {
    return new Promise(function(resolve, reject) {
        console.log("shuiJiao");
    })
}

function daDouDou() {
    return new Promise(function(resolve, reject) {
        console.log("daDouDou");
    })
}

// 调用函数
chiFan()
    .then(shuiJiao())
    .then(daDouDou())

Promise实例API

1.实例方法

  (1).then  得到异步任务的正确结果

  (2).catch  获取异常信息

  (3).finally  成功与失败都会执行

2.对象方法

       (1)Promise.all()  并发处理多个异步任务,所有任务都能执行完成才能得到结果

        (2)Promise.race()  并发处理多个异步任务,只要有一个任务完成就能得到结果

PromiseAPI和应用

then 

1.统一的回调注册

then 方法提供了一个统一的回调注册接口,无论注册时该异步 promise 是否已经成功,都会保证回调函数会被及时调用。

2. 链式操作

hen 会返回一个新的 promise 对象,那么在这个返回对象上可以继续调用 then 方法

3. 嵌套链式操作

回调函数也可以返回一个 promise 对象,那么 then 返回的 promise 对象则会等待回调函数返回的 promise 对象成功后才算成功

all

1.使用 all 也可以达到嵌套调用的效果(同时等待多个 promise 成功),并可一次性得到导致所有 promise 成功的值

when

使用 when 可以不加区别得对待 promise 对象和非 promise 对象

Promise的三种状态

 pending进行中  fulfilled 已成功  rejected以失败

Promise状态变化

pending =>fulfilled 或者 pending=>rejected 不可逆的,而且一旦执行成功状态就会凝固 不会在发生其他变化了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值