當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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])。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。