我有一系列 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());
}
}
最佳答案
请看看这是不是你想要的。
observableList: [];
......
for (let gadget of gadgets) {
let obs = this.userService.getGadgetsData(gadget.Id, gadget.Name).subscribe(gadgetsData => {
});
this.observableList.push(obs);
}
...
onClick() {
for (let i = 0; i < this.observableList.length; i++) {
this.observableList[i].unsubscribe();
}
}
关于 Angular 2 : Cancel Http requests that are in a loop,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44166810/