Gle*_*ter 6 timeout rxjs angular
如果HTTP调用发生超时事件,我想向用户提供反馈.
我试过这个:
return this._http
.post(apiUrl + 'Search/Everything', params, {withCredentials: true, headers: this.headers})
.timeout(5000, this._feedbackService.error("Custom error message"))
.map((response: Response) => response.json().data);
Run Code Online (Sandbox Code Playgroud)
但是,只要进行HTTP调用,就会触发反馈服务.
超时启动时如何启动服务?
假设_feedbackService.error返回a Error,您应该能够使用timeoutWith和defer运算符执行您需要的操作:
import "rxjs/add/observable??/defer";
import "rxjs/add/observable??/throw";
import "rxjs/add/operator/timeoutWith";
import { Observable } from "rxjs/Observable??";
return this._http
.post(apiUrl + 'Search/Everything', params, {withCredentials: true, headers: this.headers})
.timeoutWith(5000, Observable.defer(() => Observable.throw(this._feedbackService.error("Custom error message"))))
.map((response: Response) => response.json().data);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5572 次 |
| 最近记录: |