Skip to content

Commit 8dd5dd8

Browse files
targosjasnell
authored andcommitted
process: do not lazily load AsyncResource
It doesn't seem necessary. PR-URL: #38041 Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Gerhard Stöbich <[email protected]> Reviewed-By: Juan José Arboleda <[email protected]> Reviewed-By: James M Snell <[email protected]>
1 parent 0d34767 commit 8dd5dd8

File tree

1 file changed

+8
-11
lines changed

1 file changed

+8
-11
lines changed

Diff for: lib/internal/process/task_queues.js

+8-11
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@ const {
4040
validateFunction,
4141
} = require('internal/validators');
4242

43+
const { AsyncResource } = require('async_hooks');
44+
4345
// *Must* match Environment::TickInfo::Fields in src/env.h.
4446
const kHasTickScheduled = 0;
4547

@@ -132,16 +134,6 @@ function nextTick(callback) {
132134
queue.push(tickObject);
133135
}
134136

135-
let AsyncResource;
136-
const defaultMicrotaskResourceOpts = { requireManualDestroy: true };
137-
function createMicrotaskResource() {
138-
// Lazy load the async_hooks module
139-
if (AsyncResource === undefined) {
140-
AsyncResource = require('async_hooks').AsyncResource;
141-
}
142-
return new AsyncResource('Microtask', defaultMicrotaskResourceOpts);
143-
}
144-
145137
function runMicrotask() {
146138
this.runInAsyncScope(() => {
147139
const callback = this.callback;
@@ -153,10 +145,15 @@ function runMicrotask() {
153145
});
154146
}
155147

148+
const defaultMicrotaskResourceOpts = { requireManualDestroy: true };
149+
156150
function queueMicrotask(callback) {
157151
validateFunction(callback, 'callback');
158152

159-
const asyncResource = createMicrotaskResource();
153+
const asyncResource = new AsyncResource(
154+
'Microtask',
155+
defaultMicrotaskResourceOpts
156+
);
160157
asyncResource.callback = callback;
161158

162159
enqueueMicrotask(FunctionPrototypeBind(runMicrotask, asyncResource));

0 commit comments

Comments
 (0)