Em alguns casos, quando obtenho um valor de retorno de um objeto de promessa, preciso iniciar dois then()
precessos diferentes, dependendo da condição do valor, como:
promise().then(function(value){
if(//true) {
// do something
} else {
// do something
}
})
Estou pensando que talvez possa escrever assim:
promise().then(function(value){
if(//true) {
// call a new function which will return a new promise object
ifTruePromise().then();
} else {
ifFalsePromise().then();
}
})
mas com isso, tenho duas perguntas:
Não tenho certeza se é uma boa ideia começar uma nova promessa e depois processar em uma promessa;
e se eu precisar que os dois processos chamem uma função no último? Isso significa que eles têm o mesmo "terminal"
Tentei devolver a nova promessa de manter a corrente 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);
mas, neste caso, seja verdadeiro ou falso, o próximo then
funcionará.
Então, qual é a melhor prática para lidar com isso?