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
复制代码

 

posted @   expworld  阅读(132)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
历史上的今天:
2019-05-06 vue.$nextTick 解决了哪些问题
2019-05-06 【vue lazyload】插件的使用步骤
点击右上角即可分享
微信分享提示