- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试从官方 Node api 文档运行 Async Hooks 的测试代码,但在控制台中收到错误 Error: Cannot find module 'async_hooks'
。我已经在脚本顶部包含了 const async_hooks = require('async_hooks');
。这是我的代码:
const async_hooks = require('async_hooks');
// Return the ID of the current execution context.
const eid = async_hooks.executionAsyncId();
// Return the ID of the handle responsible for triggering the callback of the
// current execution scope to call.
const tid = async_hooks.triggerAsyncId();
// Create a new AsyncHook instance. All of these callbacks are optional.
const asyncHook =
async_hooks.createHook({ init, before, after, destroy, promiseResolve });
// Allow callbacks of this AsyncHook instance to call. This is not an implicit
// action after running the constructor, and must be explicitly run to begin
// executing callbacks.
asyncHook.enable();
// Disable listening for new asynchronous events.
asyncHook.disable();
//
// The following are the callbacks that can be passed to createHook().
//
// init is called during object construction. The resource may not have
// completed construction when this callback runs, therefore all fields of the
// resource referenced by "asyncId" may not have been populated.
function init(asyncId, type, triggerAsyncId, resource) { }
// before is called just before the resource's callback is called. It can be
// called 0-N times for handles (e.g. TCPWrap), and will be called exactly 1
// time for requests (e.g. FSReqWrap).
function before(asyncId) { }
// after is called just after the resource's callback has finished.
function after(asyncId) { }
// destroy is called when an AsyncWrap instance is destroyed.
function destroy(asyncId) { }
// promiseResolve is called only for promise resources, when the
// `resolve` function passed to the `Promise` constructor is invoked
// (either directly or through other means of resolving a promise).
function promiseResolve(asyncId) { }
我很困惑,我需要使用 npm install async_hooks
进行安装,但我认为它是 NodeJs 内置模块,所以我们只需要在顶部进行 require 即可。
最佳答案
经过大量搜索后,我发现我使用的是旧版本的nodejs,并且 async_hooks 模块首先在 Node 版本 8.x 中引入。使用 nvm( Node 版本管理器)升级版本后问题得到解决。 您可以通过以下链接安装和管理多个nodejs版本:https://www.digitalocean.com/community/tutorials/how-to-install-node-js-with-nvm-node-version-manager-on-a-vps
如果 nvm 已安装,您可以按如下方式打开版本 8.x:
列出所有已安装的版本:
nvm ls
v4.4.4
-> v4.4.7
v8.8.0
system
default -> 4.4.7 (-> v4.4.7)
node -> stable (-> v8.8.0) (default)
stable -> 8.8 (-> v8.8.0) (default)
要打开特定的一个:
nvm use v8.8.0
Now using node v8.8.0 (npm v5.4.2)
关于node.js - 错误: Cannot find module 'async_hooks' in NodeJs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51702158/
Failed to compile. ./node_modules/vm2/lib/resolver-compat.js Module not found: Can't resolve 'async_
我正在尝试使用 Node async_hooks 通过异步堆栈跟踪上下文。它适用于大多数情况,但是我发现这个用例我不知道如何解决: service.js: const asyncHooks = req
我一直在探索 async_hooks API 来跟踪异步事件的状态。我发现 destroy 回调并不总是为每个相应的 init 回调调用。 这是一个简单的重现: const asyncHooks =
我正在尝试从官方 Node api 文档运行 Async Hooks 的测试代码,但在控制台中收到错误 Error: Cannot find module 'async_hooks' 。我已经在脚本顶
Node 8 中有一个名为“async_hook”的新 API,我相信它应该使模块作者能够打印异步堆栈跟踪。我正在寻找类似于 chrome dev-tools 异步堆栈跟踪实现的东西,但在开发/调试期
所以我在 node.js 中构建了一个脚本,它应该接收 csv 文件,解析它们并将它们输入到数据库中。 有时,当我调试我的代码时,它会像 async_hooks.js 文件中的一个不可见断点一样停止,
async_hooks在 Node v8 中作为实验引入。因为名字类似于ES2017 async看起来它们可能在某种程度上相关。他们是吗?如果是,以什么方式(互补或竞争)? 最佳答案 async_ho
我是一名优秀的程序员,十分优秀!