• 1000 false), эта функция должна работать, даже если некоторые или все наблюдаемые вышли из строя.
В настоящее время у меня есть следующее, но похоже, что это не работает:
updateOfflineJobs(): Observable<boolean> {
return this.jobsLocal.getOfflineJobIds().pipe(
switchMap(jobIds => {
// Create array of observables to update each offline job
const observableArray: Observable<any>[] = [];
jobIds.forEach(jobId => {
observableArray.push(this.updateJob(jobId, appUser));
});
return from(observableArray).pipe(
concatAll()).pipe(
switchMap(() => {
// Check offline jobs again to make sure none still dirty
return this.jobsLocal.getOfflineJobIds();
}),
map(stillDirtyJobIds => {
return stillDirtyJobIds.length === 0;
}),
);
}
}),
catchError(e => {
return of(false);
})
);
}