got switchmap working

master
Matt Huntington 9 years ago
parent 0e1153d16a
commit afd951ec21

@ -1,8 +1,16 @@
import { Component, OnInit } from '@angular/core'; import { Component, OnInit } from '@angular/core';
import { Http } from '@angular/http'; import { Http } from '@angular/http';
import { Observable } from 'rxjs/Observable';
import { Subject } from 'rxjs/Subject'; import { Subject } from 'rxjs/Subject';
// Observable class extensions
import 'rxjs/add/observable/of';
import 'rxjs/add/operator/switchMap';
import 'rxjs/add/operator/map';
// Observable operators // Observable operators
import 'rxjs/add/operator/catch';
import 'rxjs/add/operator/debounceTime'; import 'rxjs/add/operator/debounceTime';
import 'rxjs/add/operator/distinctUntilChanged'; import 'rxjs/add/operator/distinctUntilChanged';
@ -35,12 +43,20 @@ export class SearchComponent implements OnInit {
// .then(response => console.log(this.results = response.json().results) ); // .then(response => console.log(this.results = response.json().results) );
} }
createAPIObservable(name){
return this.http.get('http://swapi.co/api/people/?search=' + name)
.map((response)=>{
return response.json().results;
});
}
ngOnInit() { ngOnInit() {
this.searchTerms this.searchTerms
.debounceTime(300) .debounceTime(300)
.distinctUntilChanged() .distinctUntilChanged()
.subscribe((term)=>{ .switchMap(term => this.createAPIObservable(term))
console.log(term); .subscribe((results)=>{
this.results = results;
}); });
} }

Loading…
Cancel
Save