В каком-то случае, когда я получаю возвращаемое значение от объекта -обещания, мне нужно запустить две разные прецессии then()
, зависящие от условия значения, например:
promise().then(function(value){
if(//true) {
// do something
} else {
// do something
}
})
Я думаю, может быть, я могу написать это как:
promise().then(function(value){
if(//true) {
// call a new function which will return a new promise object
ifTruePromise().then();
} else {
ifFalsePromise().then();
}
})
но с этим у меня есть два вопроса:
-
Я не уверен, стоит ли начинать новое обещание - затем процесс в обещании;
-
Что делать, если мне нужно, чтобы два процесса вызывали одну функцию в последнем? Это означает, что у них есть один и тот же "терминал"
Я попытался вернуть новое обещание сохранить исходную цепочку:
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);
но в этом случае, будь то true или false, будет работать следующий then
.
SO, что лучше всего справиться с этим?