在rxjs中,当我调用http-get时,我接受可观察的类型,而不是简单的javascript的Promise类型。
现在我搜索了什么而不是promise.done?
我看到人们使用Observale.map,但我不需要map - map用于多个http调用。
之前发生了什么?
答案 0 :(得分:1)
只需订阅请求方法(例如get / post / etc)。你不需要使用toPromise(),我建议不要使用它,因为Angular与Observables的效果非常好,而且它们比Promise强大得多。
// Make the HTTP request:
this.http.get('/api/items').subscribe(data => {
// Handle the result from the response.
this.results = data;
});
不要担心取消订阅这些Observable,因为他们在观察者上调用.complete()方法并完成。
值得注意的是,从HttpClient返回的所有Observable都很冷,并且在你.subscribe()之前不会发出任何请求。
我认为你可能会混淆map与switchMap,map用于转换流中的发射项,switchMap通常用于很好地链接observable。 http://reactivex.io/documentation/operators/map.html