Javascript中如何使用Promise
本文小编为大家详细介绍“Javascript中如何使用Promise”,内容详细,步骤清晰,细节处理妥当,希望这篇“Javascript中如何使用Promise”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
方法一:处理异步回调
对于 JavaScript
中的 Promise
的基本用法是处理异步回调,我们来看看下面的代码:
functionPro1(){returnnewPromise(function(resolve,reject){setTimeout(function(){resolve('pro1')},300)})}//调用Pro1().then(function(data){console.log(data)//pro1}).catch(function(err){thrownewError(err)})
方法二:多个异步函数同步处理
那么在开发中有时候我们需要发送两个 Ajax
,我们希望他们可以能够将数据返回,我们可以采用下面这个方法代码如下所示:
functionPro1(){returnnewPromise(function(resolve,reject){setTimeout(function(){resolve('pro1')},300)})}functionPro2(){returnnewPromise(function(resolve,reject){setTimeout(function(){resolve('pro2')},300)})}//调用varPro=Promise.all([Pro1(),Pro2()]);Pro.then(function(data){console.log(data[0],data[1])//Pro1Pro2}).catch(function(err){thrownewError(err)})
方法三:异步依赖异步回调
在这个方法中我们使用这个方法可以借鉴下面这串代码进行参考,代码如下所示:
functionPro1(orderId){returnnewPromise(function(resolve,reject){setTimeout(function(){varorderInfo={orderId:orderId,productIds:['123','456']}resolve(orderInfo.productIds)},300)})}functionPro2(productIds){returnnewPromise(function(resolve,reject){setTimeout(function(){varproducts=productIds.map(function(productId){return{productId:productId,name:'衣服'}})resolve(products)},300)})}//调用Pro1('abc123').then(function(productIds){console.log('商品id',productIds)returnPro2(productIds)}).then(function(products){console.log('商品详情',products)}).catch(function(err){thrownewError(err)})
方法四:封装统一入口办法或者错误处理
错误处理代码如下所示:
functionErrorHandler(promiseObj,rejectOrResOrCallback){returnpromiseObj.then(null,function(err){if(!err)})}
读到这里,这篇“Javascript中如何使用Promise”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注亿速云行业资讯频道。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。