私はビューコンポーネントと通信するマネージャクラスを持っています。このマネージャクラスは、値を返す前に複数のAPI呼び出しを実行するメソッドを持っています。したがって、API呼び出しが終了したときにコンポーネントに何らかのインジケータを持たせます非同期ジョブが終了したときのUIコンポーネントへの指示方法?
export class MyManager {
public stillBringingData = new BehaviorSubject<boolean>(false);
public myAsyncFunc(animals: Animal[]): void {
let counter: number = 0;
animals.forEach((animal: Animal) => {
counter++;
this._myApService.getAnimalInfo(animal.id).subscribe((animalInfo: AnimalInfo) => {
//currentAnimalInfo is some behaviour subject hat the client listen too
this.currentAnimalInfo.next(animalInfo)
});
this.stillBringingData.next(counter === animals.length)
});
}
}
およびサブスクリプションで、この動作の対象に耳を傾けUIコンポーネント:私は、データがまだ来続ける一方で、いくつかのボタンを無効にする必要が原因なので、これをしませんでした。
少し不器嫌だと感じる方は、もっと古典的な方法がありますか? nprogress
正確なバージョン: "NGX-プログレスバー": "^ 2.0.4" の角4 /観測/ typescriptですと
おかげで、私は私の角度バージョン4で使用しています