すぐに値を流してから一定時間ごとに値を流す

すぐに値を流してから一定時間ごとに値を流す

最初の処理をすぐに実行したあと一定時間ごとに処理を継続したい場合には、timerstartWith を組み合わせます。

const {timer} = require('rxjs');
const {startWith, take} = require('rxjs/operators');

const timer$ = timer(1000, 1000)
  .pipe(startWith(0), take(3));

console.log(new Date);
timer$.subscribe((value) => {
  console.log(new Date);
  console.log(value);
});

出力

2020-06-05T00:18:46.366Z
2020-06-05T00:18:46.374Z
0
2020-06-05T00:18:47.376Z
0
2020-06-05T00:18:48.379Z
1