asyncLocalStorage.enterWith(store)
添加于:v13.11.0、v12.17.0
Stability: 1 - 实验性
参数
store
<any>
过渡到当前同步执行的剩余部分的上下文,然后通过任何后续异步调用持久化存储。
例子:
const store = { id: 1 };
// Replaces previous store with the given store object
asyncLocalStorage.enterWith(store);
asyncLocalStorage.getStore(); // Returns the store object
someAsyncOperation(() => {
asyncLocalStorage.getStore(); // Returns the same object
});
这种转变将持续到整个同步执行。这意味着,例如,如果在事件处理程序中输入上下文,则后续事件处理程序也将在该上下文中运行,除非专门使用 AsyncResource
绑定到另一个上下文。这就是为什么 run()
应该优先于 enterWith()
的原因,除非有充分的理由使用后一种方法。
const store = { id: 1 };
emitter.on('my-event', () => {
asyncLocalStorage.enterWith(store);
});
emitter.on('my-event', () => {
asyncLocalStorage.getStore(); // Returns the same object
});
asyncLocalStorage.getStore(); // Returns undefined
emitter.emit('my-event');
asyncLocalStorage.getStore(); // Returns the same object
相关用法
- Node.js AsyncLocalStorage.exit(callback[, ...args])用法及代码示例
- Node.js AsyncLocalStorage.run(store, callback[, ...args])用法及代码示例
- Node.js AsyncLocalStorage用法及代码示例
- Node.js AsyncResource用法及代码示例
- Node.js AsyncHook.enable()用法及代码示例
- Node.js AbortController用法及代码示例
- Node.js AbortSignal.reason用法及代码示例
- Node.js MySQL AVG()用法及代码示例
- Node.js ServerHttp2Stream http2stream.pushStream(headers[, options], callback)用法及代码示例
- Node.js http2.Http2ServerRequest request.url用法及代码示例
- Node.js request.socket用法及代码示例
- Node.js assert.notEqual(actual, expected[, message])用法及代码示例
- Node.js tlsSocket.authorized用法及代码示例
- Node.js zlib.deflateRaw()用法及代码示例
- Node.js http.IncomingMessage message.rawHeaders用法及代码示例
- Node.js Console用法及代码示例
- Node.js GM transparent()用法及代码示例
- Node.js URL.protocol用法及代码示例
- Node.js http.Agent.reuseSocket(socket, request)用法及代码示例
- Node.js fs.filehandle.datasync()用法及代码示例
- Node.js socket.bind()用法及代码示例
- Node.js v8.getHeapSpaceStatistics()用法及代码示例
- Node.js http2session.destroyed用法及代码示例
- Node.js http.ServerResponse response.statusCode用法及代码示例
- Node.js Buffer buf.writeBigUInt64BE(value[, offset])用法及代码示例
注:本文由纯净天空筛选整理自nodejs.org大神的英文原创作品 AsyncLocalStorage.enterWith(store)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。