AT
let dbData;
this.db.getAllDataFromDb()
.subscribe(value => {
dbData = value;
console.log(dbData);
},
err => {
console.error('Oops:', err.message);
},
() => {
forkJoin(Object.keys(dbData)
.map((key) => {
this.facebookService.getDataOfAds(dbData[key].token)
.pipe(catchError(error => of(error)))
.subscribe(value => {
this.ls.addItem(value,dbData[key]);
},
err => {
console.error('Oops:', err.message);
}),
() => {}
// this.ls.addItem(dbData,dbData[key]);
})).subscribe(() =>
console.log("success")
);
});
let dbData;
const getDataOfAds = (token: string) => this.facebookService
.getDataOfAds(token)
.pipe(
catchError(error => of(new Error(
Get data for ${token} failed
))));
this.db.getAllDataFromDb()
.pipe(
catchError(error => throwError(
Oops: ${error.message}
)),tap(response => dbData = response),
map(response => Object.keys(response).map(key => response[key].token)),
mergeMap((tokens: string[]) => forkJoin(tokens.map(token => getDataOfAds(token))))
)
.subscribe({
next: (response) => {
Object.keys(dbData).forEach((key, index) => {
const value = response[index];
if (value instanceof Error) {
console.error(value.message);
} else {
this.ls.addItem(value, dbData[key])
}
})
},
error: (error) => console.error(error)
});