@lifaon/rx-js-light
Version:
Blazing fast Observables
23 lines (22 loc) • 444 B
JavaScript
import {createIdle} from "../../../../../../misc/timer/create-idle.mjs";
export function idle(options) {
return emit => {
let running = true;
let abort;
const loop = () => {
abort = createIdle(deadline => {
emit(deadline);
if (running) {
loop();
}
}, options);
};
loop();
return () => {
if (running) {
running = false;
abort();
}
};
};
}