I持っているいくつかの理由で「whileループに入る」から「JOBSTARTコールの後コンポーネントラインを提出」印刷から直進するこの機能:たsetIntervalは決して機能に発射されていないと知っていない理由(角度)
returned() {
this.numReturned++;
if (this.numReturned !== this.numSubmitting) {
return;
}
console.log('submit component line before jobstart call');
this.submitService.startJobToAuditTable().subscribe();
console.log('submit component line after jobstart call');
let timer = setInterval(() => {
console.log('start of interval');
this.submitService.checkIfJobRunning().subscribe(res => {
console.log("res from job running check is " + res);
this.jobFinished = res;
});
this.submitService.pollAuditTable().subscribe(res => {
console.log("res from audit table:\n\t" + res);
this.auditRows = res;
});
}, 10000); //runs every 10 seconds. will be longer after testing
console.log('entering while loop');
while (this.jobFinished === false) {
}
console.log('clearing interval, job should be finished now');
clearInterval(timer);
return;
}
console.logと他のものが呼び出されることはありません。その理由はわかりません。
その非同期呼び出し、あなたのサービスは、すべての作業ですあなたはよくチェックしました –
あなたの無限ループがすべてをブロックしています。それをしないでください。 –
setIntervalは、指定された関数への非同期呼び出しを作成します。その前後にある行の間には実行が一時停止しません。他のコンソールログは10秒後に表示されます(あなたの10000引数ごとに)。しかし、torazaburoが言及しているように、あなたは無限ループを起こしているので、何か他のものがブロックされてしまっても決して表示されないようになります。 –