0%

Delay in a TypeScript Loop

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
let finished: boolean = false;
let result = doAJob().then((jobResult) => {
finished = true;
return jobResult;
});
pollStatus(); // poll job status while job not finised.

async function pollStatus(): Promise<void> {
console.log("polling status...");

setTimeout(async () => {
// call sdk to poll status and print
const status = sdk.getStatus();
console.log(`status: ${status}`);

if (!finished) {
pollStatus(); // call loop again
}
}, 10000);
}