Typescript rxJS-什么是未来而不是';承诺。完成';

Typescript rxJS-什么是未来而不是';承诺。完成';,typescript,rxjs,Typescript,Rxjs,在rxjs中,当我调用HTTPGET时,我接受可观察类型,而不是简单javascript的承诺类型 现在我寻找的是什么而不是承诺。完成了吗 我看到人们使用Observale.map,但我不需要map-map用于多个http调用 前面是什么?只需订阅请求方法(如get/post/etc)。您不需要使用toPromise(),我建议您不要使用它,因为Angular可以很好地处理可观测数据,而且它们比承诺的功能强大得多 // Make the HTTP request: this.http.get('

在rxjs中,当我调用HTTPGET时,我接受可观察类型,而不是简单javascript的承诺类型

现在我寻找的是什么而不是承诺。完成了吗

我看到人们使用Observale.map,但我不需要map-map用于多个http调用


前面是什么?

只需订阅请求方法(如get/post/etc)。您不需要使用toPromise(),我建议您不要使用它,因为Angular可以很好地处理可观测数据,而且它们比承诺的功能强大得多

// Make the HTTP request:
this.http.get('/api/items').subscribe(data => {
  // Handle the result from the response.
  this.results = data;
});

不要担心取消订阅这些Observable,因为它们在Observable上调用.complete()方法并完成

值得注意的是,从HttpClient返回的所有可观察对象都是冷的,在您.subscribe()订阅它们之前,不会发出任何请求

我认为您可能也混淆了map和switchMap,map用于转换流中发出的项,switchMap通常用于很好地链接观测值。

唯一的方法就是对您的可观察对象调用
.toPromise()
,并使用您已经知道的函数。您可能需要使用
import'rxjs/add/operator/toPromise'
。订阅(…)
通常是链的末端。请参阅。在您的
可观察对象上使用
.subscribe()
,或
.toPromise()
,但您必须习惯使用
。然后()
,因为标准
承诺上没有
.done()
。我想您已经习惯了坏的
jQuery
实现。