我正在尝试改进我们当前的错误处理实现,其中一部分是更好地描述一般错误以及测试环境中的错误。我为 Ionic 应用程序执行此操作,但由于我的问题在于 rxjs 超时方法,所以我认为这是可以忽略不计的。
我目前坚持的一个部分是超时错误的正确可视化(错误消息),因为它们似乎根本不包含任何有值(value)的内容。当错误发生并且用户看到时,我想向用户显示哪个请求是超时错误的根源。在测试环境的情况下,还应该显示其他想法,例如 url、设备版本等。
但是所有超时错误包含的似乎都是处理 post 请求的 javascript 库的堆栈跟踪。
所以,我的问题是是否有办法从 rxjs 超时错误中添加或检索附加信息?
下面你可以看到 rxjs 的 TimeoutError 对我来说是怎样的。
谢谢!
最佳答案
TimeoutError
与源 Observable 发出的值无关。尽管如此,当源头没有排放时它就会被抛出,所以它怎么可能包含任何信息。
但是,您可以做的是使用 catchError
获取产生的错误,将其转换为另一个错误并使用 throwError
进一步发送:
...
catchError(e => throwError({...e, ...whatever}))
例如,您可以检查错误是否是 TimeoutError
的实例,如果是,则对其执行某些操作。
关于javascript - 是否可以从 rxjs-timeout-error 中获取请求信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54131470/