En algún caso, cuando obtengo un valor de retorno de un objeto de promesa, necesito comenzar dos then()
procesos diferentes dependiendo de la condición del valor, como:
promise().then(function(value){
if(//true) {
// do something
} else {
// do something
}
})
Estoy pensando que tal vez pueda escribirlo así:
promise().then(function(value){
if(//true) {
// call a new function which will return a new promise object
ifTruePromise().then();
} else {
ifFalsePromise().then();
}
})
pero con esto, tengo dos preguntas:
No estoy seguro de si es una buena idea comenzar una nueva promesa y luego procesarla;
¿Qué pasa si necesito los dos procesos para llamar a una función en el último? Significa que tienen el mismo "terminal"
Traté de devolver la nueva promesa para mantener la cadena original como:
promise().then(function(value){
if(//true) {
// call a new function which will return a new promise object
// and return it
return ifTruePromise();
} else {
// do something, no new promise
// hope to stop the then chain
}
}).then(// I can handle the result of ifTruePromise here now);
pero en este caso, ya sea verdadero o falso, el siguiente then
funcionará.
Entonces, ¿cuál es la mejor práctica para manejarlo?