@lifaon/rx-js-light
Version:
Blazing fast Observables
26 lines (25 loc) • 667 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.runTask = void 0;
var set_immediate_1 = require("./set-immediate.cjs");
var tasks_constant_1 = require("./tasks.constant.cjs");
var taskRunning = false;
function runTask(handle) {
if (taskRunning) {
setTimeout(runTask, 0, handle);
} else {
if (tasks_constant_1.TASKS.has(handle)) {
var task = tasks_constant_1.TASKS.get(handle);
taskRunning = true;
try {
task.callback.apply(void 0, task.args);
} finally {
(0, set_immediate_1.clearImmediate)(handle);
taskRunning = false;
}
}
}
}
exports.runTask = runTask;