async_hooks.executionAsyncId()
曆史
版本 | 變化 |
---|---|
v8.2.0 | 從 |
v8.1.0 | 添加於:v8.1.0 |
參數
- 返回: <number> 當前執行上下文的
asyncId
。有用的跟蹤什麽時候調用。
import { executionAsyncId } from 'node:async_hooks'; console.log(executionAsyncId()); // 1 - bootstrap fs.open(path, 'r', (err, fd) => { console.log(executionAsyncId()); // 6 - open() });
const async_hooks = require('node:async_hooks'); console.log(async_hooks.executionAsyncId()); // 1 - bootstrap fs.open(path, 'r', (err, fd) => { console.log(async_hooks.executionAsyncId()); // 6 - open() });
從 executionAsyncId()
返回的 ID 與執行時間有關,而不是因果關係(由 triggerAsyncId()
覆蓋):
const server = net.createServer((conn) => {
// Returns the ID of the server, not of the new connection, because the
// callback runs in the execution scope of the server's MakeCallback().
async_hooks.executionAsyncId();
}).listen(port, () => {
// Returns the ID of a TickObject (process.nextTick()) because all
// callbacks passed to .listen() are wrapped in a nextTick().
async_hooks.executionAsyncId();
});
默認情況下,Promise 上下文可能無法獲得精確的executionAsyncIds
。請參閱 promise execution tracking 部分。
相關用法
- Node.js AsyncHook async_hooks.executionAsyncResource()用法及代碼示例
- Node.js AsyncHook async_hooks.triggerAsyncId()用法及代碼示例
- Node.js async_hooks.createHook(callbacks)用法及代碼示例
- Node.js async.queue()用法及代碼示例
- Node.js assert.notEqual(actual, expected[, message])用法及代碼示例
- Node.js assert.notDeepStrictEqual(actual, expected[, message])用法及代碼示例
- Node.js assert.fail(actual, expected[, message[, operator[, stackStartFn]]])用法及代碼示例
- Node.js assert.deepStrictEqual()用法及代碼示例
- Node.js assert.deepEqual(actual, expected[, message])用法及代碼示例
- Node.js assert.throws(fn[, error][, message])用法及代碼示例
- Node.js assert.equal()用法及代碼示例
- Node.js assert.ifError()用法及代碼示例
- Node.js assert.throws()用法及代碼示例
- Node.js assert.ok()用法及代碼示例
- Node.js assert.strictEqual()用法及代碼示例
- Node.js assert.fail()用法及代碼示例
- Node.js assert.strictEqual(actual, expected[, message])用法及代碼示例
- Node.js assert.doesNotThrow(fn[, error][, message])用法及代碼示例
- Node.js assert.notStrictEqual(actual, expected[, message])用法及代碼示例
- Node.js assert.deepStrictEqual(actual, expected[, message])用法及代碼示例
- Node.js assert.match()用法及代碼示例
- Node.js assert.notDeepStrictEqual()用法及代碼示例
- Node.js assert.doesNotThrow()用法及代碼示例
- Node.js assert.rejects()用法及代碼示例
- Node.js assert.doesNotReject(asyncFn[, error][, message])用法及代碼示例
注:本文由純淨天空篩選整理自nodejs.org大神的英文原創作品 async_hooks.executionAsyncId()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。