微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

promise-api

promise基础用法

 const a = 1,b=2;

    //promise基础用法
    const laopo = new Promise((resolve,reject)=>{
        if(a == 2){
            resolve(a);
        }else{
            reject(a-1);
        }
    })

    laopo.then(res=>{
        console.log('res',res);
    }).catch(err=>{
        console.log('err',err);
    })

    // 控制态打印:err 0

promise.all场景用法:在处理多个异步操作后再写回调逻辑

  const a1 = new Promise((resolve,reject)=>{
        if(a == 1){
            resolve(a);
        }else{
            reject(a-1);
        }
    })
    const a2 = new Promise((resolve,reject)=>{
        if(b == 2){
            resolve(b);
        }else{
            reject(b-1);
        }
    })
    Promise.all([a1,a2]).then(res=>{
        console.log('all-res',res);
    })
    // 控制态打印:all-res (2) [1, 2]

promise.race场景用法:Promise.race([p1, p2])里面哪个结果获得的快,就返回那个结果,不管结果本身是成功状态还是失败状态

let p1 = new Promise((resolve, reject) => {
        setTimeout(() => {
            resolve('success')
        },1000)
    })

    let p2 = new Promise((resolve, reject) => {
        setTimeout(() => {
            reject('Failed')
        }, 500)
    })

    Promise.race([p1, p2]).then((result) => {
        console.log('race-res',result)
    }).catch((error) => {
        console.log('race-error',error)
    })

    // 控制态打印:race-error Failed

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐