【发布时间】:2018-05-15 15:15:55
【问题描述】:
我有一个场景,初始请求将发送一个 url 路径,后续请求应该使用该路径作为使用 get 服务请求命中的 url。 (这部分完成)
现在实际问题开始了,这里的问题是 2nd 请求不会直接给出输出,而是将状态发送为 QUEUE em> 直到响应被完全处理。我所要做的就是再次等待/点击 url,直到 QUEUE 状态更改为 OK 状态(此处为实际响应)。
第二次请求的代码:
getOriginalData(url:any){
const proxyRequest=this._getRequest(url)
return proxyRequest
.expand(response => {
if (response.uuid==null) {
this._getRequest(url);
} else {
Rx.Observable.empty();
}
return Observable.of(response);
});
private _getRequest(url:any){
return this._http.get(url)
}
我一直在关注这个实现以实现我的目标:Angular - Correctly using RXJS expand operator to make recursive http calls。
使用这个实现会导致
ERROR RangeError: Maximum call stack size exceeded
但由于某种原因,它没有按预期工作。如何以标准方式进行递归调用,以免网络泛滥。
【问题讨论】:
标签: angular angular2-services angular4-httpclient