Я хочу использовать Promise.all()
для обработки двух объектов обещания, но второй является внутренним выражением if
. Как справиться с этой ситуацией?Как использовать выражение в Promise.all()?
Это выглядит следующим образом:
functionA();
if(true) {
functionB();
}
functionA()
и functionB()
оба возвращают объект обещание. В обычном случае, я мог бы использовать
Promise.all([
functionA(),
functionB()
]).then(resule => {
console.log(result[0]); // result of functionA
console.log(result[1]); // result of functionB
})
Но как справиться с выражением if
? Должен ли я обернуть if(true){functionB()}
в new Promise()
?
Как 'Promise.all()' будет ассимилировать * значения *, а также обещания, что 'Promise.resolve()' в первом решении может быть значением, которое было бы недорогим способом для ввода значения по умолчанию, когда 'functionB()' не вызывается. [Демо] (https://jsfiddle.net/fabup5aq/). –