Angular 19 introduces two experimental APIs, `resource` and `rxResource`, for simplifying asynchronous data retrieval using Signals. The `resource` API uses Promises while `rxResource` leverages Observables. Both return a `WritableResource` object with status signals (Loading, Resolved, Reloading, Local, Error). Key features covered include local data updates via `update()`, manual refresh with `reload()`, reactive loading by binding signals to the `request` parameter, race condition handling with `abortSignal`, multiple signal dependencies, and reusable resource functions. The `rxResource` variant differs by being Observable-based, not requiring an abortSignal, and only consuming the first emitted value.
Table of contents
Born from a Vision: Asynchronous Data Loading with Signals Copy link Link copied!Creating a Resource Copy link Link copied!Updating Resource Data Locally Copy link Link copied!Refreshing a Resource Copy link Link copied!Data Based on Signals: Dynamic Resource Loading Copy link Link copied!Handling Local Data Changes During Active Requests Copy link Link copied!Multiple Signal Dependencies: Reactive Resource Loading Copy link Link copied!Code Reusability with Resource Functions Copy link Link copied!RxResource: Leveraging Observables for Reactive Data Fetching Copy link Link copied!Key Differences from resource: Copy link Link copied!Conclusion Copy link Link copied!Sort: