第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

怎么寫promise的鏈式調用

怎么寫promise的鏈式調用

暮色呼如 2019-04-16 17:05:53
比如我有一個A.func1()是異步的,它能返回一個對象x1,我還有一個B.func2()也是異步的,需要根據(jù)x1來執(zhí)行,然后B.func2返回一個最終值值t,根據(jù)這個最終值t就進行一些提示性顯示。請問這個要怎么寫呢?我自己寫的代碼是這樣的A.func1().then(function(x1){B.func2(x1).then(function(t){//dosomething})})但是感覺這樣用不用then就一個效果啦……還是變回金字塔了
查看完整描述

2 回答

?
慕容708150

TA貢獻1831條經(jīng)驗 獲得超4個贊

直接在then里面返回一個Promise的對象,如下:
javascriptA.func1()
.then(function(x1){
returnB.func2(x1);
})
.then(function(t){
//dosomething
});
針對你評論中說的問題,如果不使用第三方的Promise庫的話,可以像下面這樣使用:
javascriptvarpromise=newPromise(function(resolve,reject){
varfirstValue;
A.func1()
.then(function(x1){
firstValue=x1;//臨時保存
returnB.func2(x1);
},reject)
.then(function(x2){
resolve({
firstValue:firstValue,
secondValue:x2
});
},reject);
});
promise.then(function(result){
console.log(result);//{"firstValue":"Hello","secondValue":"World"}
});
使用第三方的Promise庫可以簡化這個過程。
                            
查看完整回答
反對 回復 2019-04-16
  • 2 回答
  • 0 關注
  • 297 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號