Replace setImmediate with queueMicrotask.

This commit is contained in:
David 2021-02-08 15:26:07 -06:00
parent 4d2b327da7
commit 9b58b10421
3 changed files with 4 additions and 13 deletions

View file

@ -1,7 +1,5 @@
"use strict"; "use strict";
require(`setimmediate`);
// An order represents a pending push or shift. // An order represents a pending push or shift.
const Order = (channel) => { const Order = (channel) => {
let order; let order;
@ -249,7 +247,7 @@ const Channel = function(length = 0) {
shift: function() { shift: function() {
const { order, promise } = Order(this); const { order, promise } = Order(this);
shifts.push(order); shifts.push(order);
setImmediate(processOrders); queueMicrotask(processOrders);
// Don't freeze promise because Bluebird expects it to be mutable. // Don't freeze promise because Bluebird expects it to be mutable.
return promise; return promise;
@ -321,7 +319,7 @@ const Channel = function(length = 0) {
processOrders(); processOrders();
// Give remaining orders in flight time to resolve before returning. // Give remaining orders in flight time to resolve before returning.
setImmediate(resolve); queueMicrotask(resolve);
} }
}), }),
@ -348,7 +346,7 @@ const Channel = function(length = 0) {
order.reject(new Error(`Can't push more than one value at a time.`)); order.reject(new Error(`Can't push more than one value at a time.`));
} else { } else {
pushes.push(order); pushes.push(order);
setImmediate(processOrders); queueMicrotask(processOrders);
} }
// Don't freeze promise because Bluebird expects it to be mutable. // Don't freeze promise because Bluebird expects it to be mutable.

5
package-lock.json generated
View file

@ -2344,11 +2344,6 @@
"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
"dev": true "dev": true
}, },
"setimmediate": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
"integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU="
},
"shebang-command": { "shebang-command": {
"version": "1.2.0", "version": "1.2.0",
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",

View file

@ -10,9 +10,7 @@
"bugs": { "bugs": {
"url": "https://gitlab.com/NodeGuy/channel/issues" "url": "https://gitlab.com/NodeGuy/channel/issues"
}, },
"dependencies": { "dependencies": {},
"setimmediate": "1.0.5"
},
"devDependencies": { "devDependencies": {
"@nodeguy/assert": "0.1.4", "@nodeguy/assert": "0.1.4",
"@stryker-mutator/core": "1.1.0", "@stryker-mutator/core": "1.1.0",