0 Tage Serie
javascript / intermediate
Snippet

Suchoptimierung mit switchMap

Der switchMap-Operator ist für Suchimplementierungen unerlässlich. Er bricht vorherige HTTP-Anfragen ab, wenn ein neuer Suchbegriff ausgegeben wird, bevor die vorherige Anfrage abgeschlossen wurde, wodurch Race Conditions vermieden und Bandbreite gespart wird.

snippet.js
javascript
1
2
3
4
5
6
7
import { switchMap, debounceTime, distinctUntilChanged } from 'rxjs';
this.searchTerms.pipe(
debounceTime(300),
distinctUntilChanged(),
switchMap(term => this.userService.search(term))
).subscribe(results => this.results = results);
angular
Erklärung
1
debounceTime(300)
Wartet auf 300 ms Stille, bevor der letzte Wert ausgegeben wird.
2
switchMap(...)
Wechselt zu einem neuen Observable und bricht das vorherige innere Observable ab.