xref: /third_party/node/test/async-hooks/test-async-local-storage-nested.js (revision 1cb0ef41)
  • Home
  • History
  • Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
  • only in /third_party/node/test/async-hooks/
1'use strict';
2require('../common');
3const assert = require('assert');
4const { AsyncLocalStorage } = require('async_hooks');
5
6const asyncLocalStorage = new AsyncLocalStorage();
7const outer = {};
8const inner = {};
9
10function testInner() {
11  assert.strictEqual(asyncLocalStorage.getStore(), outer);
12
13  asyncLocalStorage.run(inner, () => {
14    assert.strictEqual(asyncLocalStorage.getStore(), inner);
15  });
16  assert.strictEqual(asyncLocalStorage.getStore(), outer);
17
18  asyncLocalStorage.exit(() => {
19    assert.strictEqual(asyncLocalStorage.getStore(), undefined);
20  });
21  assert.strictEqual(asyncLocalStorage.getStore(), outer);
22}
23
24asyncLocalStorage.run(outer, testInner);
25assert.strictEqual(asyncLocalStorage.getStore(), undefined);
26

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