In alcuni casi, quando ottengo un valore di ritorno da un oggetto promessa, devo avviare due diverse then()
precessioni a seconda delle condizioni del valore, come:
promise().then(function(value){
if(//true) {
// do something
} else {
// do something
}
})
Penso che forse posso scriverlo come:
promise().then(function(value){
if(//true) {
// call a new function which will return a new promise object
ifTruePromise().then();
} else {
ifFalsePromise().then();
}
})
ma con questo, ho due domande:
Non sono sicuro che sia una buona idea iniziare una nuova promessa, poi elaborarla in una promessa;
cosa succede se ho bisogno che i due processi chiamino una funzione nell'ultimo? Significa che hanno lo stesso "terminale"
Ho provato a restituire la nuova promessa per mantenere la catena originale come:
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);
ma in questo caso, che sia vero o falso, il prossimo then
funzionerà.
Allora, qual è la migliore pratica per gestirlo?