11const assert = require ( 'assert' ) ;
2- const { AsyncLocalStorage } = require ( 'async_hooks' ) ;
32const fs = require ( 'fs' ) ;
43const KoaApplication = require ( 'koa' ) ;
54const EggConsoleLogger = require ( 'egg-logger' ) . EggConsoleLogger ;
65const debug = require ( 'debug' ) ( 'egg-core' ) ;
76const is = require ( 'is-type-of' ) ;
87const co = require ( 'co' ) ;
98const Router = require ( '@eggjs/router' ) . EggRouter ;
9+ const { getAsyncLocalStorage } = require ( 'gals' ) ;
1010const BaseContextClass = require ( './utils/base_context_class' ) ;
1111const utils = require ( './utils' ) ;
1212const Timing = require ( './utils/timing' ) ;
@@ -16,7 +16,6 @@ const DEPRECATE = Symbol('EggCore#deprecate');
1616const ROUTER = Symbol ( 'EggCore#router' ) ;
1717const EGG_LOADER = Symbol . for ( 'egg#loader' ) ;
1818const CLOSE_PROMISE = Symbol ( 'EggCore#closePromise' ) ;
19- const EGG_CTX_STORAGE = Symbol . for ( 'egg#ctxStorage' ) ;
2019
2120class EggCore extends KoaApplication {
2221
@@ -40,10 +39,7 @@ class EggCore extends KoaApplication {
4039 // disable koa als and use egg logic
4140 super ( { asyncLocalStorage : false } ) ;
4241 // can access the AsyncLocalStorage instance in global
43- if ( ! global [ EGG_CTX_STORAGE ] ) {
44- global [ EGG_CTX_STORAGE ] = new AsyncLocalStorage ( ) ;
45- }
46- this . ctxStorage = global [ EGG_CTX_STORAGE ] ;
42+ this . ctxStorage = getAsyncLocalStorage ( ) ;
4743
4844 this . timing = new Timing ( ) ;
4945
0 commit comments