Promiseを繰り返し呼び出して制御する
Promise を繰り返し呼び出しなんらかのフラグにより呼び出しを中止します
var loopCounter = 5;
function LoopPromise() {
console.log("LoopPromise: ", loopCounter);
if(loopCounter > 0) {
new Promise(function(resolve) {
setTimeout(function() {
loopCounter -= 1;
LoopPromise();
resolve(true);
}, 1000);
});
} else {
// NOP
}
}
想定される使い道
下記のような使い方を想定しています
- APIのポーリング … レスポンスが0の間は呼び出し続ける、1になったら次の処理へ遷移する
- 指定件数読み込むまで繰り返す … 一度に読めるデータが100件のAPIで1000件読み込むまで繰り返す