91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Javascript中如何使用Promise

發布時間:2022-02-21 16:54:01 來源:億速云 閱讀:153 作者:iii 欄目:開發技術

本文小編為大家詳細介紹“Javascript中如何使用Promise”,內容詳細,步驟清晰,細節處理妥當,希望這篇“Javascript中如何使用Promise”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

方法一:處理異步回調

對于 JavaScript 中的 Promise 的基本用法是處理異步回調,我們來看看下面的代碼:

function Pro1(){
 return new Promise(function(resolve, reject) {
  setTimeout(function(){
   resolve('pro1')
  }, 300)
 })
}
//調用
Pro1()
.then(function(data){
 console.log(data) //pro1
})
.catch(function(err){
 throw new Error(err)
})

方法二:多個異步函數同步處理

那么在開發中有時候我們需要發送兩個 Ajax ,我們希望他們可以能夠將數據返回,我們可以采用下面這個方法代碼如下所示:

function Pro1(){
 return new Promise(function(resolve, reject) {
  setTimeout(function(){
   resolve('pro1')
  }, 300)
 })
}
function Pro2(){
 return new Promise(function(resolve, reject) {
  setTimeout(function(){
   resolve('pro2')
  }, 300)
 })
}
//調用
var Pro = Promise.all([Pro1(), Pro2()]);
Pro
.then(function(data){
 console.log(data[0], data[1]) //Pro1 Pro2
})
.catch(function(err){
 throw new Error(err)
})

方法三:異步依賴異步回調

在這個方法中我們使用這個方法可以借鑒下面這串代碼進行參考,代碼如下所示:

function Pro1(orderId){
 return new Promise(function(resolve, reject) {
  setTimeout(function(){
   var orderInfo = {
    orderId: orderId,
    productIds: ['123', '456']
   }
   resolve(orderInfo.productIds)
  }, 300)
 })
}
function Pro2(productIds){
 return new Promise(function(resolve, reject) {
  setTimeout(function(){
   var products = productIds.map(function(productId){
    return {
     productId: productId,
     name: '衣服'
    }
   })
   resolve(products)
  }, 300)
 })
}
//調用
Pro1('abc123')
.then(function(productIds){
 console.log('商品id',productIds) 
 return Pro2(productIds)
})
.then(function(products){
 console.log('商品詳情',products) 
})
.catch(function(err){
 throw new Error(err)
})

方法四:封裝統一入口辦法或者錯誤處理

錯誤處理代碼如下所示:

function ErrorHandler(promiseObj, rejectOrResOrCallback){
 return promiseObj.then(null, function(err){
 if(!err)
 })
}

讀到這里,這篇“Javascript中如何使用Promise”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

利辛县| 岫岩| 卢龙县| 麦盖提县| 阿瓦提县| 万宁市| 四子王旗| 朝阳区| 昌宁县| 莱州市| 舟曲县| 松滋市| 富源县| 南汇区| 晋宁县| 皋兰县| 闸北区| 临泉县| 泌阳县| 太白县| 靖远县| 久治县| 江油市| 长宁县| 卢湾区| 阜宁县| 奇台县| 安岳县| 常州市| 天津市| 广东省| 宝丰县| 棋牌| 富顺县| 金山区| 手机| 宁南县| 固安县| 丹棱县| 吉隆县| 南涧|