My problem seems quite simple: I have an Observable source and I want to delay emissions (no skip) as such: Start with first emission, than for every next emission, wait until another Observable tick has emitted once.
This should do it:
source.pipe(
concatMap((value) =>
tick.pipe(
first(),
ignoreElements(),
startWith(actions),
),
),
)
But I have the feeling (as so often when working with rxjs) that there is a much simpler solution out there, although that I feel that I have tried every operator I could think of (audit, delay, interval, sample, ...) sample kind of comes closest, but it is skipping emissions. Also the problem reminds my strongly of Schedulers: If one could make a Scheduler from an Observable...
Maybe I am missing something.