當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript Worker.on方法代碼示例

本文整理匯總了TypeScript中worker_threads.Worker.on方法的典型用法代碼示例。如果您正苦於以下問題:TypeScript Worker.on方法的具體用法?TypeScript Worker.on怎麽用?TypeScript Worker.on使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在worker_threads.Worker的用法示例。


在下文中一共展示了Worker.on方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: Promise

 return new Promise((resolve, reject) => {
     const worker = new workerThreads.Worker(__filename, {
         workerData: script
     });
     worker.on('message', resolve);
     worker.on('error', reject);
     worker.on('exit', (code) => {
         if (code !== 0)
             reject(new Error(`Worker stopped with exit code ${code}`));
     });
 });
開發者ID:ChaosinaCan,項目名稱:DefinitelyTyped,代碼行數:11,代碼來源:worker_threads.ts

示例2: initialize

  initialize() {
    this._worker = new Worker(path.resolve(__dirname, './threadChild.js'), {
      eval: false,
      stderr: true,
      stdout: true,
      workerData: {
        cwd: process.cwd(),
        env: {
          ...process.env,
          JEST_WORKER_ID: String(this._options.workerId),
        } as NodeJS.ProcessEnv,
        // Suppress --debug / --inspect flags while preserving others (like --harmony).
        execArgv: process.execArgv.filter(v => !/^--(debug|inspect)/.test(v)),
        silent: true,
        ...this._options.forkOptions,
      },
    });

    this._worker.on('message', this.onMessage.bind(this));
    this._worker.on('exit', this.onExit.bind(this));

    this._worker.postMessage([
      CHILD_MESSAGE_INITIALIZE,
      false,
      this._options.workerPath,
      this._options.setupArgs,
    ]);

    this._retries++;

    // If we exceeded the amount of retries, we will emulate an error reply
    // coming from the child. This avoids code duplication related with cleaning
    // the queue, and scheduling the next call.
    if (this._retries > this._options.maxRetries) {
      const error = new Error('Call retries were exceeded');

      this.onMessage([
        PARENT_MESSAGE_CLIENT_ERROR,
        error.name,
        error.message,
        error.stack!,
        {type: 'WorkerError'},
      ]);
    }
  }
開發者ID:elliottsj,項目名稱:jest,代碼行數:45,代碼來源:NodeThreadsWorker.ts


注:本文中的worker_threads.Worker.on方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。