There's a pattern I see a lot in Angular codebases that adopted Signals early: a developer discovers rxResource, loves that it handles loading and error state automatically, and then immediately reaches for tap() to write a signal inside the stream.
private readonly resource = rxResource({
params: () => this.paramsSignal(),
stream: ({ params }) =>
this.api.fetch(params).pipe(






