我嘗試迭代我的子對象並設置預加載完成標誌,當所有都成功加載。迭代childs並檢查準備好在angular2可觀察時
this.HeaderService.getAll().subscribe(header => {
header.forEach((headerline, index) => {
this.SubService1.get(headerline.key).take(1).subscribe(sub1 => {
this.SubService2.get(headerline.key).take(1).subscribe(sub2 => {
if(index == header.length - 1){ // <-- not working !!! :-(
preLoadingDone = true;
}
})
})
})
});
我在這個例子中的代碼不工作,因爲異步問題。我如何解決我的問題?
編輯: 這個servicecalls放在我的ngOnInit()。問題是我加載的子服務URL在模板中顯示圖像。如果之前沒有完成預加載,我在控制檯中出現錯誤,因爲圖像指向空值
訂閱有'三個回調(下一個,錯誤,完成)'。你可以在完整的回調中編寫你的代碼,我相信它應該可以工作。 – micronyks
感謝您的回答,但我需要知道subservice2的最後一個interation的完整,以檢查是否一切都加載;-) –
Ÿ不只是在圖像url的模板中使用'?',而是.. –