【发布时间】:2016-06-16 16:09:35
【问题描述】:
我发现this answer 提出的解决方案是使用Observables 来设置http 请求的超时时间。
但是,我的代码结构主要使用 Promise(我使用 observables 来自动更新数据 - 这不是 API 调用的情况)。
这是我的代码(灵感来自 Angular 2 教程):
makePostRequest(requestUrl:string, requestBody: any, requestOptions?: RequestOptions): Promise<any> {
requestOptions = requestOptions || new RequestOptions({ headers: this._defaultHeaders });
return this._http.post(requestUrl, JSON.stringify(requestBody), requestOptions)
.toPromise()
.then(this.extractData)
.catch(this.handleError)
}
如何设置超时并抛出错误(如果超时到期),然后我会在 .catch() 中捕获该错误,或者 - 或者 - 使用 Observables(包括将结果转换为 Promise 并且不监控 API 更新 (*)) 的监控?
(*) 注意:我不确定 Observables 是否继续调用 API 来检查新数据,但这不是我的问题的重点,我只是想确保这种行为不会 发生。
【问题讨论】: