我正在用Angular2构建一个网站,其中包含多个包含具有各种统计信息的仪表板的页面。Angular 2 - 在路由更改中取消HTTP请求
在单个页面上,分别制作了6个不同的请求(每个仪表板图块一个),这可能需要5秒钟才能结束。当仪表板的请求正在进行时,当我更改页面时,会出现问题。
在这种情况下,请求将开始叠加,如果多次更改页面,仪表板将花费更多时间加载。每个请求都作出如下方式:
return this.http.post("http://mywebsite.com/dashboard/info", body, options)
.map((res) => {
return res.json()
}).subscribe((result) => { /* do something */});
我所寻找的是一种方式来中止所有当我改变网页的当前请求,以避免它们叠加起来,导致过多的加载时间。
https://stackoverflow.com/questions/36490926/how-to-cancel-a-httprequest-in-angular-2 – onetwo12
在'ngOnDestroy'生命周期挂钩'从你的HTTP调用unsubscribe'。 – echonax