私は配列内のデータの可変数を持っています。プロミス関数をダイナミックな長さで連結するにはどうしたらいいですか?
function tryThis(num: number): Promise<any> {
return new Promise ((resolve, reject) => {
if(num == 3){
resolve()
}else{
reject();
}
}
}
let arrayOfSomething : Array<number> = [1,2,3,4];
let chain;
// create the chain
arrayOfSomething.forEach((element) => {
// add element to the chain
chain.catch(() => {
tryThis(element);
});
});
// run chain
chain
.then(() => {
// one of elemnts of the array was 3
})
.catch(() => {
// no "3" found in array
})
だから、私の目標はtryThis()関数のすべてが拒否与えた場合のデータの変数countで、エンドキャッチでアレイを形成約束チェーンを作成することです:私はこれを行うには何かを、したいです。 tryThis()関数の1つがチェーン内でresolveを返すと、最後にジャンプしてresolveで終了します。
私のコードは正しくありませんが、これは私がしたいことを示すことに過ぎません。
誰でも私に手伝ってもらえますか?
ありがとうございます!
あなたはこのために約束を使いたいのはなぜ? 'tryThis'は非同期関数ではありません。 – alexmac
tryThis()は単なる例であるためです。私は後で私たちの非同期関数 の代わりにtryThis()を使用します。 – Scriba