xref: /third_party/node/test/async-hooks/test-async-local-storage-nested.js
  • Home
  • History
  • Annotate Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
  • only in /third_party/node/test/async-hooks/
11cb0ef41Sopenharmony_ci'use strict';
21cb0ef41Sopenharmony_cirequire('../common');
31cb0ef41Sopenharmony_ciconst assert = require('assert');
41cb0ef41Sopenharmony_ciconst { AsyncLocalStorage } = require('async_hooks');
51cb0ef41Sopenharmony_ci
61cb0ef41Sopenharmony_ciconst asyncLocalStorage = new AsyncLocalStorage();
71cb0ef41Sopenharmony_ciconst outer = {};
81cb0ef41Sopenharmony_ciconst inner = {};
91cb0ef41Sopenharmony_ci
101cb0ef41Sopenharmony_cifunction testInner() {
111cb0ef41Sopenharmony_ci  assert.strictEqual(asyncLocalStorage.getStore(), outer);
121cb0ef41Sopenharmony_ci
131cb0ef41Sopenharmony_ci  asyncLocalStorage.run(inner, () => {
141cb0ef41Sopenharmony_ci    assert.strictEqual(asyncLocalStorage.getStore(), inner);
151cb0ef41Sopenharmony_ci  });
161cb0ef41Sopenharmony_ci  assert.strictEqual(asyncLocalStorage.getStore(), outer);
171cb0ef41Sopenharmony_ci
181cb0ef41Sopenharmony_ci  asyncLocalStorage.exit(() => {
191cb0ef41Sopenharmony_ci    assert.strictEqual(asyncLocalStorage.getStore(), undefined);
201cb0ef41Sopenharmony_ci  });
211cb0ef41Sopenharmony_ci  assert.strictEqual(asyncLocalStorage.getStore(), outer);
221cb0ef41Sopenharmony_ci}
231cb0ef41Sopenharmony_ci
241cb0ef41Sopenharmony_ciasyncLocalStorage.run(outer, testInner);
251cb0ef41Sopenharmony_ciassert.strictEqual(asyncLocalStorage.getStore(), undefined);
26

Indexes created Thu Nov 07 10:32:03 CST 2024