Files
2025-11-25 22:42:56 +01:00

34 lines
533 B
JavaScript

'use strict';
const queue = Array(8);
let len = 0;
let ticked = false;
function tick() {
let i = -1;
while (++i < len) {
const promise = queue[i];
queue[i] = undefined;
switch (promise._resolved) {
case 1:
promise._callResolve();
break;
case 2:
promise._callReject();
break;
}
}
len = 0;
ticked = false;
}
function invoke(promise) {
if (ticked === false) {
setImmediate(tick);
ticked = true;
}
queue[len++] = promise;
}
module.exports = invoke;