let
signature: let(function): Observable
let(function): ObservableLet me have the whole observable.
⚠ let is no longer available, or necessary, with pipeable operators! (RxJS 5.5+)
Examples
Example 1: Reusing error handling logic with let
// custom error handling logic
const retryThreeTimes = obs =>
obs.retry(3).catch(_ => Rx.Observable.of('ERROR!'));
const examplePromise = val =>
new Promise(resolve => resolve(`Complete: ${val}`));
//faking request
const subscribe = Rx.Observable.of('some_url')
.mergeMap(url => examplePromise(url))
// could reuse error handling logic in multiple places with let
.let(retryThreeTimes)
//output: Complete: some_url
.subscribe(result => console.log(result));
const customizableRetry = retryTimes => obs =>
obs.retry(retryTimes).catch(_ => Rx.Observable.of('ERROR!'));
//faking request
const secondSubscribe = Rx.Observable.of('some_url')
.mergeMap(url => examplePromise(url))
// could reuse error handling logic in multiple places with let
.let(customizableRetry(3))
//output: Complete: some_url
.subscribe(result => console.log(result));Example 2: Applying map with let
Example 3: Applying multiple operators with let
Example 4: Applying operators through function
Additional Resources
let 📰 - Official docs
📁 Source Code: https://github.com/ReactiveX/rxjs/blob/master/src/internal/operators/let.ts
Last updated