12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- import { Observable } from '../../Observable';
- /**
- * Uses [the Fetch API](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) to
- * make an HTTP request.
- *
- * **WARNING** Parts of the fetch API are still experimental. `AbortController` is
- * required for this implementation to work and use cancellation appropriately.
- *
- * Will automatically set up an internal [AbortController](https://developer.mozilla.org/en-US/docs/Web/API/AbortController)
- * in order to teardown the internal `fetch` when the subscription tears down.
- *
- * If a `signal` is provided via the `init` argument, it will behave like it usually does with
- * `fetch`. If the provided `signal` aborts, the error that `fetch` normally rejects with
- * in that scenario will be emitted as an error from the observable.
- *
- * ### Basic Use
- *
- * ```ts
- * import { of } from 'rxjs';
- * import { fromFetch } from 'rxjs/fetch';
- * import { switchMap, catchError } from 'rxjs/operators';
- *
- * const data$ = fromFetch('https://api.github.com/users?per_page=5').pipe(
- * switchMap(response => {
- * if (response.ok) {
- * // OK return data
- * return response.json();
- * } else {
- * // Server is returning a status requiring the client to try something else.
- * return of({ error: true, message: `Error ${response.status}` });
- * }
- * }),
- * catchError(err => {
- * // Network or other error, handle appropriately
- * console.error(err);
- * return of({ error: true, message: err.message })
- * })
- * );
- *
- * data$.subscribe({
- * next: result => console.log(result),
- * complete: () => console.log('done')
- * })
- * ```
- *
- * @param input The resource you would like to fetch. Can be a url or a request object.
- * @param init A configuration object for the fetch.
- * [See MDN for more details](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters)
- * @returns An Observable, that when subscribed to performs an HTTP request using the native `fetch`
- * function. The {@link Subscription} is tied to an `AbortController` for the the fetch.
- */
- export declare function fromFetch(input: string | Request, init?: RequestInit): Observable<Response>;
|