我在发布有关 HTTP 超时的自定义错误消息时遇到问题。
这是一个简单的例子:
return this._http.get(url).timeout(5000, new Error("Error message"));
我看到大家都用新错误(“错误消息”)但我收到错误:
错误函数需要类型 Scheduler。我收到此错误:
“错误”类型的参数不可分配给类型的参数
“调度程序”。 “错误”类型中缺少属性“SchedulerAction”
在 rxjs 4 中,可以通过这种方式自定义错误消息。然而,在最新版本的 rxjs 5 中,timeout
只接受两个参数:
- 到期: 数量 |日期
- 调度程序:IScheduler(这是为了管理Observable如何处理超时)
如果您想自定义错误,您可以尝试以下操作:
return this._http.get(url)
.timeout(5000)
.catch(err => {
if (err.name !== "TimeoutError") {
return Observable.throw("Timeout has occurred");
}
return Observable.throw(err);
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)