~/talk

The Birth and Evolution of AsyncHooks

Talkat UtahJS Conf 2017 · on Wednesday, 2017-09-27· [nodejs, javascript]
slides:none on file

Module lands in Node 8 after a four‑year evolution (first commit Sept 2013, removed Dec 2014, async_hooks PR Sept 2016, landed Mar 2017). It exposes init/before/after/destroy hooks, adds executionAsyncId and triggerAsyncId to track causal chains, and gains full promise integration plus a promise‑resolver hook. Design choices: numeric unique IDs, C++ and runtime‑agnostic APIs, shared typed‑array state between C++ and JS to avoid VM roundtrips, removal of global exception‑handling and per‑path tracing for performance and safety.

AI-written summary · about

  1. 0:00Intro
  2. 1:04how it all began
  3. 1:38birth of AsyncListener
  4. 6:55back to AsyncListener
  5. 9:41more on AsyncListener
  6. 13:06and it all goes away
  7. 14:45slow but steady
  8. 19:33arrival of async_hooks
  9. 25:00asynchronous events
  10. 25:53why exception handling was removed
  11. 26:54execution and trigger async ids
  12. 28:47AsyncResource and static API
  13. 29:31Promise integration
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.