是否可以取消特定请求?我跟随this取消了请求,但是如果我有多个请求,该如何确定我不会取消错误的请求呢?有办法取消特定请求吗?
当前它是这样的:
async getEmployeeListBySearchword(searchword: string): Promise<IMember[]> {
try {
const response = await this.get(`employees/${decodeURIComponent(searchword)}`);
return JSON.parse(response['response']) as Promise<IMember[]>;
}catch(e){
if(e.responseType != "abort") {
console.log(e);
}
}
}
cancelRequest(){
if(AbortableHttpService.http){
AbortableHttpService.http['pendingRequests'].forEach(request =>{
request.abort();
});
}
}
http设置代码被包装到名为AbortableHttpService的类中,它创建HttpClient并对其进行配置并为其隐藏一些样板代码。
答案 0 :(得分:2)
我不确定是否对此进行了记录,但是在aurelia-http-client源代码中,我看到cancel
/ abort
函数被添加到您在发出请求。
因此,调用response.cancel()
或response.abort()
应该可以。