Thanks for the update!

As for Promise.resolve(), you’re right. It’s a synchronous function which immediately creates a resolved Promise object. That’s why Async Hooks won’t work with Promise.resolve() only. But when you chain a then() for this object, an async promise microtask is created and this microtask is an async resource from Async Hooks API perspective.

As for the workaround, I agree that it doesn’t make sense to use Async Hooks when you have to “drag” metadata all across your invocations. It’s purpose to avoid boilerplate code duplication.

Could you describe the goal you’re trying to achive with Async Hooks? It may help me with suggesting one or another way to achieve it.



Distributed systems gazer. Node.js contributor. Occasional tech blogger and speaker.

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store