В некоторых случаях, когда я получаю возвращаемое значение от объекта обещания, мне нужно запустить две разные 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);
но в этом случае, верно это или ложно, then
сработает следующий .
Итак, как лучше всего с этим справиться?