我正在用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