扫描打开手机站
随时逛,更方便!
当前位置:首页 > 百科 > 帮手

前端Promise(常见的一些应用场景)

时间:2023-10-18 来源:互联网 作者:伊可

前端 Promise 常见的一些应用场景

思考:如果并发请求的话,每个请求的loading状态要单独设置,多个的话可能多个loading 重合,页面显示的内容 根据请求返回数据的快慢 有所差异,具体表现在渲染的过程,为提升用户体验,我们可以采用 所有请求返回数据后,再一起渲染,此时我们关闭请求的单独loading设置,通过Promise.all 汇总请求结果,从开始到结束,我们只设置一个 loading 即可。

//1.获取轮播数据列表function getBannerList(){    return new Promise((resolve,reject)=>{        setTimeout(function(){            resolve('轮播数据')        },300)    })}//2.获取店铺列表function getStoreList(){   return new Promise((resolve,reject)=>{        setTimeout(function(){            resolve('店铺数据')        },500)    })}//3.获取分类列表function getCategoryList(){   return new Promise((resolve,reject)=>{        setTimeout(function(){            resolve('分类数据')        },700)    })}function initLoad(){    // loading.show() //加载loading    Promise.all([getBannerList(),getStoreList(),getCategoryList()]).then(res=>{        console.log(res)        // loading.hide() //关闭loading    }).catch(err=>{        console.log(err)        // loading.hide()//关闭loading    })}//数据初始化    initLoad()

应用场景2:合并请求结果并处理错误