jsOMS/Model/Action/Utils/Timer.js
Dennis Eichhorn 7b75ec58f7
Some checks failed
CodeQL / Analyze (javascript) (push) Has been cancelled
CI / general_module_workflow_js (push) Has been cancelled
fix permissions
2025-04-02 14:15:07 +00:00

24 lines
537 B
JavaScript

/**
* Set timer for next action.
*
* @param {Object} action Action data
* @param {function} callback Callback
*
* @since 1.0.0
*/
const timerActionDelay = {};
export function timerAction (action, callback, data)
{
'use strict';
if (timerActionDelay[action.id]) {
clearTimeout(timerActionDelay[action.id]);
delete timerActionDelay[action.id];
}
timerActionDelay[action.id] = setTimeout(function () {
delete timerActionDelay[action.id];
callback(data);
}, action.delay);
};