【发布时间】:2019-02-08 22:50:25
【问题描述】:
flatMap的使用方法正确吗?
const observer = Observable
.interval(3000)
.takeUntil(Observable.timer(10000))
.flatMap(this.askToReadyRecordVideo);
private askToReadyRecordVideo(): Observable<any> {
return this.requestMethods.askToReadyRecordVideo({});
}
在这一行中,我绑定了每 3 秒向服务器发送一次请求,直到 10 秒,然后调用从服务器返回数据的方法 this.askToReadyRecordVideo()。
当我得到成功响应时,我完成了这个。是真的吗?
【问题讨论】:
-
这应该做你设置做的事情。除了在获取成功响应后它不会停止。它只会在第 10 秒停止。
-
如何使用该权限进行请求?
-
当我从服务器获得成功的结果时,我需要停止进程
-
那么,是 10 秒还是成功? 10秒已完成。恕我直言,成功停止过程应该是订户的工作。
observer.takeUntil(res=>!res.success)..subscribe() -
如果处理错误/成功调用,您可能需要
retry或retryWhen