我需要构建一个流,它在调用后立即发出api请求,如果页面没有刷新,则每小时(下午1:00,下午2:00 )。我用setTimeout()构建它,但是我想用RxJ实现它。你能帮帮我吗?
isUpdated() {
    return new Observable<Object>(function update(obs) {
        this.http.get(`/update`).subscribe(data => {
            obs.next(data);
        });
        const timer = (60 - new Date().getMinutes()) * 60 * 1000;
        setTimeout(() => update.call(this, obs), timer);
    }.bind(this));
}
//call
isUpdated().subscribe(data => console.log(data));发布于 2020-12-03 10:32:43
您可以简单地使用rxjs间隔
import { interval } from 'rxjs';
const seconds = 3600;
const source = interval(seconds * 1000);
source.subscribe(()=> {
  // make api request here
});https://stackoverflow.com/questions/65124122
复制相似问题