Используя RxJS `generate` для создания не дрейфующего таймера, как использовать` планировщик`?

В поисках таймера - запускаемого каждую минуту, каждую минуту - который не дрейфует, я нашел это решение. Однако у меня возникают трудности с пониманием, как использовать / построить последний параметр scheduler?: SchedulerLike,

const noDrift = generate(
  0,
  _ => true, // start condition
  i => ++i,  // iterate
  i => i,    // result selector
  i =>  ...  // scheduler?: SchedulerLike; every minute on the minute, but how?
);

noDrift.subscribe(() => {
  // action
});

оригинальное решение, которое дрейфует:

const date = new Date();

// calculate how many ms are left till the full minute is reached
const tillNextFullMinute = (60 - date.getSeconds()) * 1000 - date.getMilliseconds();

// start on the next full minute, then just every minute
this.currentTime = timer(tillNextFullMinute, 60 * 1000);
this.currentTime.subscribe(value => {
  // action
});

0 ответов

Другие вопросы по тегам