Aurelia取消特定要求

时间:2019-04-30 13:46:01

标签: aurelia aurelia-http-client

是否可以取消特定请求?我跟随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并对其进行配置并为其隐藏一些样板代码。

1 个答案:

答案 0 :(得分:2)

我不确定是否对此进行了记录,但是在aurelia-http-client源代码中,我看到cancel / abort函数被添加到您在发出请求。

因此,调用response.cancel()response.abort()应该可以。