2
私はある時間に同じプロセスで多数のAjax呼び出しを行うネイティブJavaScriptアプリケーションを作成しています。通常のforループを実行してすぐにそれらをすべて実行するのではなく、私はAjaxコールが完了するのを待ってから次のコールを実行するのを待っていました。Ajaxリクエストでループを約束する
私は次のようにこれを行うことができたのStackOverflowの助けを借りて:
function ajaxCall(index) {
return new Promise(function(resolve) {
// Ajax request {
resolve();
// }
});
}
Promise.resolve(0).then(function loop(i) {
if (i < length) {
return ajaxCall(i).thenReturn(i + 1).then(loop);
}
}).then(function() {
// for loop complete
});
Promise.prototype.thenReturn = function(value) {
return this.then(function() {
return value;
});
};
しかし、これは私にとっては遅すぎます。私は量を制限することができるように現在いくつかのAjax呼び出しが処理中であることを追跡するvarを保持できるようにしたい。
私は複数のことを試しましたが、私はininiteループを実行し続けているか、目的の結果に達していません。
特定の数値で制限された複数の操作を実行するには、Promise forループを使用して非同期Ajaxを呼び出しますか?