async_hooks在 Node v8 中作为实验性引入。因为名称类似于 ES2017 async,所以看起来它们可能在某种程度上相关。他们是吗?如果是这样,以什么方式(互补或竞争)?
问问题
328 次
1 回答
3
async_hooks API 使您更容易跟踪您的资源。您首先使用以下任何一个可选对象对其进行初始化:init
、before
和。获取资源会触发这些回调之一。重点是允许更好地跟踪异步资源及其回调。after
destroy
async_hooks
async await
让您以更熟悉的同步方式编写代码,其中包含基于 Promise 的异步部分。
例如:
async function Double() {
let result = await PromiseWhichReturnsNumber();
return result * 2;
}
在上面async
的函数中,函数将暂停执行PromiseWhichReturnsNumber()
直到 promise 被解决(并且结果被分配给result
)。
这两个概念正在解决不同的问题:
async await
让您以“同步”的方式编写 Promise。async_hooks
允许您跟踪异步资源。
于 2018-04-19T19:21:05.627 回答