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
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.