27 lines
544 B
TypeScript
27 lines
544 B
TypeScript
|
|
import { Observable, of } from 'rxjs';
|
|
|
|
|
|
// #docregion
|
|
|
|
import { ajax } from 'rxjs/ajax';
|
|
import { map, retry, catchError } from 'rxjs/operators';
|
|
|
|
const apiData = ajax('/api/data').pipe(
|
|
retry(3), // Retry up to 3 times before failing
|
|
map(res => {
|
|
if (!res.response) {
|
|
throw new Error('Value expected!');
|
|
}
|
|
return res.response;
|
|
}),
|
|
catchError(err => of([]))
|
|
);
|
|
|
|
apiData.subscribe({
|
|
next(x) { console.log('data: ', x); },
|
|
error(err) { console.log('errors already caught... will not run'); }
|
|
});
|
|
|
|
// #enddocregion
|