util.promisify()
Wraps a callback-style function so it returns a Promise.
Syntax
util.promisify(original) Parameters
| Name | Type | Required | Description |
|---|---|---|---|
original | function | Yes | A function following the error-first callback convention `(err, result)`. |
Returns
function — A function that returns a Promise.
Examples
import { promisify } from 'node:util';
import { execFile } from 'node:child_process';
const run = promisify(execFile);
const { stdout } = await run('node', ['--version']);
console.log(stdout.trim());
Output
v22.1.0
import { promisify } from 'node:util';
const wait = promisify(setTimeout);
await wait(100);
console.log('100ms later');
Output
100ms later
Notes
Only works with the standard error-first callback signature. Many
core modules already ship promise variants (`fs/promises`,
`dns/promises`, `timers/promises`) - prefer those over promisifying
by hand.