UNPKG

devextreme

Version:

HTML5 JavaScript Component Suite for Responsive Web Development

33 lines (32 loc) 1 kB
/** * DevExtreme (cjs/__internal/scheduler/utils/macro_task_array/dispatcher.js) * Version: 24.2.6 * Build date: Mon Mar 17 2025 * * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/ */ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.macroTaskIdSet = exports.default = void 0; const macroTaskIdSet = exports.macroTaskIdSet = new Set; const schedule = async (callback, macroTaskTimeoutMs) => new Promise((resolve => { const taskId = setTimeout((() => { callback(); macroTaskIdSet.delete(taskId); resolve() }), macroTaskTimeoutMs); macroTaskIdSet.add(taskId) })); const dispose = () => { Array.from(macroTaskIdSet).forEach((id => { clearTimeout(id); macroTaskIdSet.delete(id) })) }; var _default = exports.default = { schedule: schedule, dispose: dispose };