UNPKG

devextreme

Version:

JavaScript/TypeScript Component Suite for Responsive Web Development

28 lines (27 loc) 827 B
/** * DevExtreme (esm/__internal/scheduler/utils/macro_task_array/dispatcher.js) * Version: 25.2.5 * Build date: Fri Feb 20 2026 * * Copyright (c) 2012 - 2026 Developer Express Inc. ALL RIGHTS RESERVED * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/ */ export const 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) })) }; export default { schedule: schedule, dispose: dispose };