如何使用 Observer 每秒向服务器发送请求?

How to send request each second to server using Observer?

将这段代码包装到计时器中?

this.requestMethods.CallNotaryRequest(data).subscribe((response: ICallNotaryResponse) => {
    this.requestMethods.CallNotaryRequest();// Call again after 1 second
});

或者有其他方法?

我只需要在 1 秒后收到前一个响应时才执行相同的请求

我这样试过:

Observable.interval(3000).subscribe(i => {
  this.askToReadyRecordVideo().subscribe(res => {
  });
});

private askToReadyRecordVideo(): Observable<any> {
    return this.requestMethods.askToReadyRecordVideo({});
}

但是当服务器returns出错时出现问题,它仍然发送请求

Observable.interval(3000)
    // the error from inner stream(inside `switchMap`) will propagate to outer stream. 
    // Outer stream will complete.
    .pipe(switchMap(()=>this.askToReadyRecordVideo()))
    .subscribe(console.log);

private askToReadyRecordVideo(): Observable<any> {
    return this.requestMethods.askToReadyRecordVideo({});
}