VOOZH about

URL: https://www.geeksforgeeks.org/node-js/node-js-util-promisify-method/

⇱ Node util.promisify() Method - GeeksforGeeks


  • Courses
  • Tutorials
  • Interview Prep

Node util.promisify() Method

Last Updated : 15 Jul, 2025

`util.promisify()` in Node.js converts callback-based methods to promise-based, aiding in managing asynchronous code more cleanly. This alleviates callback nesting issues, enhancing code readability, and simplifying asynchronous operations through promise chaining.

Syntax:

util.promisify(func)

Parameters: This method accepts a single parameter function that holds the callback based function.

Return Value: This method returns a promise-based function.

Example 1: Below is the code example of the util.promisify() Method:

Output:

[Error: ENOENT: no such file or directory, 
scandir 'C:\Users\bhudk\Desktop\nodec\process.cwd()'] {
errno: -4058,
code: 'ENOENT',
syscall: 'scandir',
path: 'C:\\Users\\bhudk\\Desktop\\nodec\\process.cwd()'
}

Example 2: Below is the code example of the util.promisify() Method:

</p><pre><code class="language-javascript"></code></pre><p></p><pre></pre><p><br></p><pre><code><span>// Node.js program to illustrate </span></code><br><code><span>// util.promisify() methods </span></code><br><br><code><span>// Since promisify function </span></code><br><code><span>// returns promise version </span></code><br><code><span>// of a function, it can also </span></code><br><code><span>// operate using async and await </span></code><br><br><code><span>// Importing Utilities module </span></code><br><code><span>const util = require('util')</span></code><br><br><code><span>// Importing File System module </span></code><br><code><span>const fs = require('fs')</span></code><br><br><code><span>// Use promisify to convert callback </span></code><br><code><span>// based method fs.readdir to </span></code><br><code><span>// promise based method </span></code><br><code><span>const readdir = util.promisify(fs.readdir)</span></code><br><br><code><span>const readFiles = async (path) => {</span></code><br><code><span> const files = await readdir(path)</span></code><br><code><span> console.log(files)</span></code><br><code><span>}</span></code><br><br><code><span>readFiles(process.cwd()).catch(err => {</span></code><br><code><span> console.log(err)</span></code><br><code><span>}) </span></code></pre><p dir="ltr"><br></p><p dir="ltr"><b><strong>Output:</strong></b></p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20200604121930/output-of-programme-to-illsutrate-promisify.png" width="1220" height="493"><p dir="ltr"><b><strong>Example 3: </strong></b><span>Below is the code example of the util.promisify() Method:</span></p><gfg-tabs data-run-ide="false" data-mode="light"><gfg-tab slot="tab">JavaScript</gfg-tab><gfg-panel slot="panel" data-code-lang="javascript"><pre><code class="language-javascript">// Node.js program to illustrate 
// util.promisify() methods 

// Importing Utilities module 
constutil=require('util')

// importing File System module
constfs=require('fs')

// Use promisify to convert 
// callback based methods to 
// promise based methods 
constreaddir=util.promisify(fs.readdir)
constlstat=util.promisify(fs.lstat)


constreadFiles=async(path)=>{
constfiles=awaitreaddir(path)
for(letfileoffiles){
conststats=awaitlstat(file)
if(stats.isFile()){
console.log(`${file} -----> File`)
}else{
console.log(`${file} -----> Folder`)
}
}
}

readFiles('process.cwd()').catch(err=>{
console.log(err)
})

Output:

👁 Image

We have a Cheat Sheet on Node utility methods where we covered all the utility methods to check those please go through Node.js Utility Complete Reference article.

Comment

Explore