次の例では、条件付きでsomePromise
を実行し、条件に関係なくanotherPromise
を実行します。約束をifと組み合わせる方法は?
if (somecondition) {
somePromise().then((args) => { ... });
}
// Not waiting for somePromise() here, but it should.
return anotherPromise().then((args) => {
muchmorecodehere;
}
私は今考えることができる唯一の方法は、関数に最後の部分を回すと、両方のブランチにそれを実行することですが、それは非常に面倒なようです。確かに私は何か間違っている?
let helperFunction =() => {
return anotherPromise().then((args) => {
muchmorecodehere;
}
}
if (somecondition) {
return somePromise().then((args) => { ... }).then(helperFunction);
}
return helperFunction;
'somePromise'が実行された場合、' anotherPromise'が起動する前に 'anotherPromise'が終了するのを待ちますか?それとも、両方を走らせたいのですか? –
チェーンを使い、何らかの条件で拒否して、最初に2番目の実行を避けるのはなぜですか? – VadimB
はい、 'anotherPromise'は' somePromise'が最初に終了するのを待つべきです。ありがとう。 – cib