promise

promise:一种更优的异步编程统一方案;
promise 是一个普通对象,用来表示一个异步任务过后是成功还是失败

promise 代码


 

// promise 基本示例

const promise = new Promise(function(res,err){
    res(1000)   //成功
    // err(new Error("err"))   //失败
})

// promise.then(value=>{
//     // 成功状态
//     console.log(value) //输出1000
// },err=>{
//     // 失败状态
//     console.log(err) //打印 err 错误信息
// })

//改进一下 promise.then().then() 链式调用 最大优势, then()内部返回也是 promise 对象,但不是一个promise
promise.then(value=>{
    return value+1000
})
.then(value=>{
    console.log(value); // 2000
})
.catch(err=>{       //异常处理
    console.log(err);
})

// promise 静态方法  resolse()

Promise.resolve("foo")
    .then(value=>{
        console.log(value); //foo
    })



//  promise 并行处理 all ,但是注意 要么都成功,一个失败都是失败,all 是等待全部任务结束才结束
Promise.all(["a","b"])
.then(value=>console.log(value)); // [a,b]

// promise.race()  多个任务,只会等待第一个结束的任务
const req =  ['c','d']
const timeout = new Promise(function(res,err){
    setTimeout(()=>{err(new Error("err"))},1000)
})
Promise.race([req,timeout])
    .then(value=>console.log(value)) //[c,d]
    .catch(err=>console.log(err))


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值