нужно понять , когда он выполнится полностью. И для этого мне посоветовали использовать forkJoin .Можно ли как то преобразовать данный код в forkJoin . Или как то подписаться , чтобы понять что все данные пришли ?
getAllDataFromDb(){
return this.db.getAllDataFromDb().toPromise().then(dbData => {
console.log('getAllDataFromDb',dbData);
for(let i = 0; i < Object.keys(dbData).length; i++){
this.facebookService.getDataOfAds(dbData[i].token)
.toPromise()
.then(response => {
this.ls.addItem(response,dbData[i]);
this.filter();
})
.catch((err:any) => {
console.log(err);
});
}
})
//если ошибка
.catch((err:any) => {
console.log(err);
});
}
const getData = (token: any): Observable<any> => this .facebookService .getDataOfAds(token).pipe( tap(response => { console.log("304",response); this.ls.addItem(response,dbData[key]); }), catchError(error => { console.log(error) }) ); const getAll = (dbData) : Observable<any> => { const keys = Object.keys(dbData); return forkJoin( keys.map(key => getData(key)) ); } return this.db.getAllDataFromDb().pipe( switchMap(dbData => getAll(dbData)) ); Разбейте так как нибудь
Обсуждают сегодня