Node.js async_hooks API Availability Check

1.0.0 · maintenance · verified Tue Apr 21

This package, `has-async-hooks`, provides a lightweight utility function to programmatically determine if the `async_hooks` API is available in the current Node.js runtime environment. Currently at version 1.0.0, it is a stable, single-purpose library. Its primary differentiator is its simplicity and explicit focus on feature detection for `async_hooks`, which became stable in Node.js 8.0.0. This utility is particularly useful for conditional code execution or polyfilling in environments where compatibility with various Node.js versions (especially older ones) is a concern. The library has a very stable release cadence, with its initial 1.0.0 release being its sole version to date, indicating its 'fire and forget' nature once the feature detection logic is established.

Common errors

Warnings

Install

Imports

Quickstart

Demonstrates how to import and use the has-async-hooks function to check for async_hooks API availability, providing conditional logic for feature-dependent code.

const hasAsyncHooks = require('has-async-hooks');

if (hasAsyncHooks()) {
  console.log('async_hooks API is available in this Node.js version.');
  // Example usage: You might conditionally load async_hooks dependent code
  const async_hooks = require('async_hooks');
  const asyncId = async_hooks.executionAsyncId();
  console.log(`Current async ID: ${asyncId}`);
} else {
  console.log('async_hooks API is NOT available in this Node.js version.');
  console.log('This typically means you are running an older Node.js version (pre-8.x).');
}

// To demonstrate: This script will output 'true' on Node.js >= 8, 'false' on older versions.
// You can test by running with different Node.js versions.

view raw JSON →