UNPKG

devextreme

Version:

HTML5 JavaScript Component Suite for Responsive Web Development

28 lines (27 loc) 827 B
/** * DevExtreme (esm/__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/ */ 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 };