場合によっては、promiseオブジェクトから戻り値を取得するときにthen()
、値の条件に応じて、次のように2つの異なるプロセスを開始する必要があります。
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();
}
})
しかし、これに関して、私は2つの質問があります:
新しいpromiseを開始してから、promiseでプロセスを開始するのが良い考えかどうかはわかりません。
最後に1つの関数を呼び出すために2つのプロセスが必要な場合はどうなりますか?それは彼らが同じ「ターミナル」を持っていることを意味します
私は元のチェーンを次のように保つために新しい約束を返そうとしました:
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
あろうと、次は機能します。
それで、それを処理するためのベストプラクティスは何ですか?