我的离子应用程序有多个页面。有时,发生服务器端错误,并且我的应用程序在加载程序屏幕上停留了几分钟。如何处理服务器超时错误?我还想通知用户有错误,并且有一个按钮可以重新加载页面或整个应用程序!
谢谢。
答案 0 :(得分:0)
为了捕获HTTP请求超时错误,RXjs提供了timeoutWith运算符,如果HTTP请求在特定毫秒内处于空闲状态,该运算符将发出可观察到的错误。
示例代码:
return this.httpClient.request<Response>(method, url, request).pipe(
timeoutWith(10000, observableThrowError(new Error('Http Timeout exceeds'))),
map((response: any) => ({ // handle success }),
catchError((error: HttpErrorResponse) => => ({ // handle error })
);