diff --git a/doc/api/async_context.md b/doc/api/async_context.md index a41b73ce67697e..2d76d41392a525 100644 --- a/doc/api/async_context.md +++ b/doc/api/async_context.md @@ -116,17 +116,35 @@ Each instance of `AsyncLocalStorage` maintains an independent storage context. Multiple instances can safely exist simultaneously without risk of interfering with each other's data. -### `new AsyncLocalStorage()` +### `new AsyncLocalStorage([options])` +> Stability: 1 - `options.onPropagate` is experimental. + +* `options` {Object} + * `onPropagate` {Function} Optional callback invoked before a store is + propagated to a new async resource. Returning `true` allows propagation, + returning `false` avoids it. Default is to propagate always. + Creates a new instance of `AsyncLocalStorage`. Store is only provided within a `run()` call or after an `enterWith()` call. +The `onPropagate` is called during creation of an async resource. Throwing at +this time will print the stack trace and exit. See +[`async_hooks` Error handling][] for details. + +Creating an async resource within the `onPropagate` callback will result in +a recursive call to `onPropagate`. + ### `asyncLocalStorage.disable()`