可以使用rxjs的interval函数代替setTimeout。interval可以在每个特定时间间隔发出一个值。在订阅前,可以使用delay操作符来延迟订阅的时间。因此每次调用都会得到固定的延迟时间。
代码示例:
import { interval } from 'rxjs'; import { delay } from 'rxjs/operators';
const delayTime = 1000; // 延迟时间 const duration = 5000; // 持续时间
interval(duration) .pipe(delay(delayTime)) .subscribe(() => { // 这里放需要执行的操作 });