2 つの API 呼び出しからの 2 つの応答を 1 つに結合しています。2 つの応答が完了したら、結合機能をトリガーする必要があります。
私は次のように ngDoCheck() でこれを行うことができました:
ngDoCheck() {
if(this.tasksResponse && this.peopleResponse && !this.peopleShown) {
this.finalData = this.returnPeople.mapData(this.peopleResponse, this.tasksResponse);
this.peopleShown = true;
}
}
ご覧のとおり、応答があるかどうかを確認し、「this.peopleShown」ブール値を確認します。コンストラクターで、これを「false」に設定しました。これを行う理由は、小さなことが変更されるたびに関数を実行したくないためです (たとえば、ユーザーがサイトと対話するとき)。
私のソリューションでは、 ngDoCheck() は一度正常に実行された後は影響がないため、希望どおりに機能します。私の唯一の懸念は、ライフサイクルフックがまだフックされていることです(イベントリスナーのように、リッスンし続けますが、何もしません)。パフォーマンスに関しては、私が思う最善の解決策ではありませんか?
私の質問
ngDoCheck() を何らかの方法でフック解除することは可能ですか?
ngStopCheck()、または何か..