Tengo un escenario donde tengo "Promesa A" y "Promesa B". Necesito llamar a ambas promesas solo si la variable "valor" es falsa, de lo contrario, solo necesito llamar a la Promesa B.
Entonces, escribí este código:
if(!value){ PromiseA.then((newValue)=>{ PromiseB.then((newValue)=>{ //... }) }) } else{ PromiseB.then((value)=>{ //.... }) }Este código funciona bien, pero me pregunto si hay una mejor manera de lograr esto que usar "if-else".
Esto para tener un código limpio.
Gracias por adelantado.
Dentro de una función asíncrona, await la primera Promesa si es necesario.
const firstValue = value ?? await PromiseA; const resultOfPromiseB = await PromiseB; // do stuff with resultOfPromiseBPuede envolver la segunda promesa en una función si desea evitar la repetición de código.
function callPromiseB() { PromiseB.then((value)=>{ //.... }) } if(!value){ PromiseA.then((newValue)=>{ callPromiseB() }) } else{ callPromiseB() }