async_hooks在 Node v8 中作为实验引入。因为名字类似于ES2017 async看起来它们可能在某种程度上相关。他们是吗?如果是,以什么方式(互补或竞争)?
最佳答案
async_hooks API使您可以更轻松地跟踪您的资源。首先使用以下任一可选对象对其进行初始化:init
、before
、after
和 destroy
。获取资源会触发这些回调之一。 async_hooks
的目的是允许更好地跟踪异步资源及其回调。
async wait
允许您以更熟悉的同步方式编写包含基于 Promise 的异步部分的代码。
例如:
async function Double() {
let result = await PromiseWhichReturnsNumber();
return result * 2;
}
在上面的async
函数中,该函数将在PromiseWhichReturnsNumber()
处暂停执行,直到promise得到解决(并且结果被分配给result
) >)。
这两个概念正在解决不同的问题:
async wait
允许您以“同步”方式编写 Promise。async_hooks
允许您跟踪异步资源。
关于node.js - Node.js 中的 async wait 和 async_hooks 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49928417/