【发布时间】:2017-05-24 19:16:16
【问题描述】:
我有一系列通过小工具循环进行的 Http 调用。有没有办法中止所有请求
for (let gadget of gadgets) {
this.userService.getGadgetsData(gadget.Id, gadget.Name).subscribe(gadgetsData => {
});
}
component.service.ts 中我的服务代码
@Injectable()
export class UserService {
constructor(public _http: Http) { }
getGadgetsData() {
return this._http.get(this._dashboards, { headers: this.getHeaders() })
.map((res: Response) => res.json());
}
}
【问题讨论】:
-
“中止”是什么意思?您必须看到 this._http.get 会立即创建 HTTP 请求,但稍后会异步返回响应。您想中止实际的 HTTP 请求还是只是取消订阅返回的 Observable 对象?
-
是的,我知道这一点。无论哪种方式都可以,中止实际请求或取消订阅。但是您会看到有多个请求,因为请求在循环中
-
在什么情况下要取消订阅 Observable 对象?
-
我想在我的按钮点击事件中这样做
标签: angular rxjs observable angular2-http angular2-observables