当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Node.js new AsyncResource(type[, options])用法及代码示例


new AsyncResource(type[, options])

  • type <string> 异步事件的类型。
  • options <Object>
    • triggerAsyncId <number> 创建此异步事件的执行上下文的 ID。 默认: executionAsyncId()
    • requireManualDestroy <boolean> 如果设置为 true ,当对象被垃圾回收时禁用 emitDestroy。这通常不需要设置(即使手动调用 emitDestroy),除非检索资源的 asyncId 并使用它调用敏感 API 的 emitDestroy。当设置为 false 时,仅当至少有一个活动的 destroy 钩子时,才会对垃圾收集进行 emitDestroy 调用。 默认: false

示例用法:

class DBQuery extends AsyncResource {
  constructor(db) {
    super('DBQuery');
    this.db = db;
  }

  getInfo(query, callback) {
    this.db.get(query, (err, data) => {
      this.runInAsyncScope(callback, null, err, data);
    });
  }

  close() {
    this.db = null;
    this.emitDestroy();
  }
}

相关用法


注:本文由纯净天空筛选整理自nodejs.org大神的英文原创作品 new AsyncResource(type[, options])。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。