在某些情况下,当我从promise对象获得返回值时,我需要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
都可以。
那么,处理它的最佳实践是什么?