观察者是否提出获取请求?

时间:2017-10-30 09:44:17

标签: javascript angular http-get

当我们在angular2中使用observable时,假设我们发出一个返回一个observable的get请求。

这个observable是否自动发出get请求,或者当我们调用它时订阅是否发出get请求

示例:

服务器是否在此处调用? this.http.get(requestUrl).map(this.validateResponse).map(this.parseJson);

或此处(订阅后)

this.http.get(requestUrl).map(this.validateResponse).map(this.parseJson).subscribe(result=> console.log(result));

2 个答案:

答案 0 :(得分:1)

Observable默认是冷的(没有订阅 - 没有请求执行)。 使用.share()运算符使Observable变热。 这里描述了:https://auth0.com/blog/making-use-of-rxjs-angular/

答案 1 :(得分:1)

Observable只是我们想要观察的数据(异步调用,事件......)的类型/包装(获取数据,对事件作出反应,......)。

所以,如果你没有subscribechanges,就没有任何事情发生。

使用http.get时,您必须订阅才能获取数据。

您可以查看这些文章,以便对Observables有一个很好的概述:https://angular-2-training-book.rangle.io/handout/observables/using_observables.html