我有一個場景,我有“承諾 A”和“承諾 B”。只有當變數“value”為假時,我才需要呼叫這兩個 Promise,否則,我只需要呼叫 Promise B。
所以,我寫了這段代碼:
if(!value){
PromiseA.then((newValue)=>{
PromiseB.then((newValue)=>{
//...
})
})
}
else{
PromiseB.then((value)=>{
//....
})
}
這段代碼作業正常,但我想知道是否有比使用“if-else”更好的方法來實作這一點。
這有干凈的代碼。
提前致謝。
uj5u.com熱心網友回復:
在異步函式中,await如果需要,第一個 Promise。
const firstValue = value ?? await PromiseA;
const resultOfPromiseB = await PromiseB;
// do stuff with resultOfPromiseB
uj5u.com熱心網友回復:
如果你想避免代碼重復,你可以將第二個 promise 包裝在一個函式中。
function callPromiseB() {
PromiseB.then((value)=>{
//....
})
}
if(!value){
PromiseA.then((newValue)=>{
callPromiseB()
})
}
else{
callPromiseB()
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/446437.html
標籤:javascript 算法 异步
上一篇:從兩個節點之間的最短路徑顯示節點
