[英]Angular and RxJS - subscribe function for forkjoin not executing
在下面的代碼中,訂閱 function 沒有運行('Never called' 沒有出現在控制台中); 但是,調用了這三個服務。
ngOnInit(): void {
forkJoin([this.adminBCService.getAvailableBusinessCases(), this.explainersService.get(), this.adminPainsService.getMetricsList()])
.pipe(takeUntil(this.destroy$))
.subscribe(resultsArray => {
console.log(resultsArray);
this.businessCasesSelectable = resultsArray[0];
this.selectedBusinessCase = this.businessCasesSelectable.length ? this.businessCasesSelectable[0] : null;
this.explainers = resultsArray[1];
this.metricList = resultsArray[2];
});
}
我是 RxJS 和 Angular 的新手。我需要在前三個完成后調用附加服務,並計划在 forkjoin 的 subscribe() function 中執行此操作,但我所做的一些事情似乎阻止了 function 從做任何事情。
更新:第三個服務調用有自己的訂閱,所以它沒有傳遞 Observable。 更改后,forkJoin 成功調用訂閱 function。
如果每個observable 都至少返回一個值並且已經完成, forkJoin
只會返回一個值。
這意味着:
如果您不想等待完成combineLatest
是一個不錯的選擇。
另外在旁注:不要通過影響值來打破反應上下文: tap
map
這些值,並在最終subscribe
中設置 class 成員。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.