2017-02-03 4 views
0

in einem Winkel Anwendung, ich habe diese beobachtbare Kette in meiner Komponente:Stoppen Sie die Ausführung einer beobachtbaren Kette auf der Grundlage einer Bedingung

@Component({ 
selector: 'app-search', 
templateUrl: './search.component.html', 
styleUrls: ['./search.component.css'] 
}) 
export class SearchComponent implements OnInit { 

search.component.ts

results: any[] = []; 
queryField: FormControl = new FormControl(); 
constructor(private _apiService: ApiService) { } 

ngOnInit() { 

this.queryField.valueChanges 
.debounceTime(200) 
.distinctUntilChanged() 
.switchMap((query) => this._apiService.search(query)) // was subscribe 
.subscribe(result => { this.results = result.items; console.log(result); }); 

} }

seach.ccomponent.html

<input [formControl]='queryField' type="text" id="keyword" autocomplete="off" placeholder="start typing..."/> 

Was würde ich tun möchte, ist die Ausführung des Restes der Observablen Kette abzubrechen und geht nicht auf den switchMap Operator (um die Anforderung nicht ausführen zu tun), wenn der Wert emittiert ich Das Formularsteuerelement ist null.

Antwort

1

Also wenn ich richtig verstehe Sie wollen .filter() Emissionen, wenn sie null sind?

Verwandte Themen