From 574e0f4f64f6b8e7bb16a6e37eb0cb06ffb5f5e0 Mon Sep 17 00:00:00 2001 From: Robert Nagy Date: Wed, 28 Feb 2024 14:57:42 +0100 Subject: [PATCH] fix: prefer queueMicrotask --- lib/core/util.js | 4 ++-- lib/dispatcher/client.js | 4 ++-- lib/dispatcher/pool-base.js | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/core/util.js b/lib/core/util.js index 9b331089b2a..9789a240575 100644 --- a/lib/core/util.js +++ b/lib/core/util.js @@ -204,9 +204,9 @@ function destroy (stream, err) { stream.destroy(err) } else if (err) { - process.nextTick((stream, err) => { + queueMicrotask(() => { stream.emit('error', err) - }, stream, err) + }) } if (stream.destroyed !== true) { diff --git a/lib/dispatcher/client.js b/lib/dispatcher/client.js index 8cc334d0baf..d90ed6ad914 100644 --- a/lib/dispatcher/client.js +++ b/lib/dispatcher/client.js @@ -299,7 +299,7 @@ class Client extends DispatcherBase { } else if (util.bodyLength(request.body) == null && util.isIterable(request.body)) { // Wait a tick in case stream/iterator is ended in the same tick. this[kResuming] = 1 - process.nextTick(resume, this) + queueMicrotask(() => resume(this)) } else { this[kResume](true) } @@ -548,7 +548,7 @@ function _resume (client, sync) { } else if (client[kNeedDrain] === 2) { if (sync) { client[kNeedDrain] = 1 - process.nextTick(emitDrain, client) + queueMicrotask(() => emitDrain(client)) } else { emitDrain(client) } diff --git a/lib/dispatcher/pool-base.js b/lib/dispatcher/pool-base.js index 93422f832e9..ff3108a4da2 100644 --- a/lib/dispatcher/pool-base.js +++ b/lib/dispatcher/pool-base.js @@ -158,7 +158,7 @@ class PoolBase extends DispatcherBase { this[kClients].push(client) if (this[kNeedDrain]) { - process.nextTick(() => { + queueMicrotask(() => { if (this[kNeedDrain]) { this[kOnDrain](client[kUrl], [this, client]) }