queueMicroTask.js 582 B

123456789101112131415
  1. var trigger;
  2. var callbacks = [];
  3. var notify = function () { return callbacks.splice(0).forEach(function (cb) { return cb(); }); };
  4. var queueMicroTask = function (callback) {
  5. if (!trigger) {
  6. var toggle_1 = 0;
  7. var el_1 = document.createTextNode('');
  8. var config = { characterData: true };
  9. new MutationObserver(function () { return notify(); }).observe(el_1, config);
  10. trigger = function () { el_1.textContent = "".concat(toggle_1 ? toggle_1-- : toggle_1++); };
  11. }
  12. callbacks.push(callback);
  13. trigger();
  14. };
  15. export { queueMicroTask };