【发布时间】:2019-01-03 09:27:48
【问题描述】:
在 catcherror 中设置超时显示角度错误
(error: any) => void 类型的参数不可分配给(err: any, caught: Observable<HttpEvent<any>>) => ObservableInput<{}> 类型的参数。
类型 void 不可分配给类型 ObservableInput<{}>。 [2345]
http://i.imgur.com/qWSyIP0.png
catchError(error => {
if(error==403)
{
setTimeout(() => {
return next.handle(this.addToken(req, authService.getToken())).pipe();
}, 2000);
}
})
【问题讨论】:
-
从
setTimeout返回没有意义,因为它是一个异步操作。您需要重新考虑您的工作流程。 -
你可以在没有
setTimeout的情况下像return next.handle(this.addToken(req, authService.getToken())).pipe(delay(2000));一样做 -
return next.handle(request).pipe(catchError(试试这个 -
感谢 cmets,我尝试了所有方法,但在我的情况下没有奏效,所以我改变了我的工作流程:)
标签: angular typescript angular6