11cb0ef41Sopenharmony_ci'use strict'; 21cb0ef41Sopenharmony_ci 31cb0ef41Sopenharmony_ciconst common = require('../common'); 41cb0ef41Sopenharmony_ciconst { strictEqual } = require('assert'); 51cb0ef41Sopenharmony_ciconst { AsyncLocalStorage } = require('async_hooks'); 61cb0ef41Sopenharmony_ci 71cb0ef41Sopenharmony_ciconst asyncLocalStorage = new AsyncLocalStorage(); 81cb0ef41Sopenharmony_ciconst runInAsyncScope = 91cb0ef41Sopenharmony_ci asyncLocalStorage.run(123, common.mustCall(() => AsyncLocalStorage.snapshot())); 101cb0ef41Sopenharmony_ciconst result = 111cb0ef41Sopenharmony_ci asyncLocalStorage.run(321, common.mustCall(() => { 121cb0ef41Sopenharmony_ci return runInAsyncScope(() => { 131cb0ef41Sopenharmony_ci return asyncLocalStorage.getStore(); 141cb0ef41Sopenharmony_ci }); 151cb0ef41Sopenharmony_ci })); 161cb0ef41Sopenharmony_cistrictEqual(result, 123); 17