Aurelia Typescript http-fetch-client异步捕获无法正常工作

时间:2017-01-13 11:31:17

标签: typescript error-handling async-await try-catch aurelia

我不知道我做错了什么,或者根本不行。

我有服务

export class Service {
    constructore(private http: HttpClient){}
    async delete(id:number){
        try{
            return this.http.fetch('api/deleteItem?id='+id,{method:'post'})
        } catch(error){
            console.log(error);
            throw error;
        }
    }
}

并且消费者称之为:

async deleteItem(item){
    try{
        let result = await this.myService.delete(this.item.id);
        this.model.items.remove(item);
    } catch(error){
      console.log(error);
    }
}

现在,如果webapi服务抛出异常,我的catch块就无法捕获它。所以它会从model.items中删除它,尽管它不应该。

为什么会这样?

1 个答案:

答案 0 :(得分:1)

发现错误。 我使用的http拦截器不能处理来自http的错误,只是将响应作为json对象返回。