gpt4 book ai didi

ajax - Angular2 捕获请求错误

转载 作者:太空狗 更新时间:2023-10-29 18:06:18 26 4
gpt4 key购买 nike

我有一个代码来获取请求。它正在编译和工作,但我在控制台中遇到错误。

public get<T>(url: string, headers: Headers = this.jsonHeaders()): Observable<T> {
return this._http.get(url, { headers: headers })
.catch((err: Response, caught: Observable<T>) => {
if (err.status === 401) {
this._router.navigate(["/auth/login"]);
return Observable.throw("401 Unauthorized");
}
return caught;
})
.map(res => <T>this.toJSON(res));
}

错误:

error TS2345: Argument of type '(err: Response, caught: Observable<T>) => ErrorObservable | Observable<T>' is not assignable to parameter of type '(err: any, caught: Observable<Response>) => Observable<any>'.
Types of parameters 'caught' and 'caught' are incompatible.
Type 'Observable<Response>' is not assignable to type 'Observable<T>'.
Type 'Response' is not assignable to type 'T'.

我试过将它转换为但没有帮助

最佳答案

您使用以下内容:

.catch((err: Response, caught: Observable<T>) => {
if (err.status === 401) {
this._router.navigate(["/auth/login"]);
return Observable.throw("401 Unauthorized");
}
return Observable.throw(caught); // <-----
})

关于ajax - Angular2 捕获请求错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37317580/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com