دستور util.promisify در Node.js در برنامه‌نویسی با استفاده از Node.js، ممکن است برای انجام عملیات‌های ناهمزمان (asynchronous)، نیاز به استفاده از توابع تبدیل‌کننده‌ای داشته باشیم. یکی از این توابع تبدیل‌کننده، تابع util.promisify است که برای تبدیل توابع ناهمزمان به توابع همزمان (synchronous) استفاده می‌شود. تابع util.promisify باعث تبدیل یک تابع ناهمزمان به یک promise می‌شود. این promise، به صورت خودکار با استفاده از resolve و reject آرگومان‌های تابع ناهمزمان، رفتار می‌کند. به عبارت دیگر، شما می‌توانید از این تابع برای تبدیل توابعی که از callback استفاده می‌کنند به توابعی که از promise استفاده می‌کنند استفاده کنید. برای استفاده از تابع util.promisify، ابتدا باید ماژول util را در برنامه خود وارد کنید: const util = require('util'); سپس، می‌توانید تابعی که می‌خواهید به تابع promise تبدیل شود را به عنوان آرگومان به تابع util.promisify بدهید. به عنوان مثال، فرض کنید یک تابع readFile ناهمزمان دارید که با استفاده از callback کار می‌کند. می‌توانید این تابع را به یک تابع promise تبدیل کنید، به این شکل: const fs = require('fs'); const readFile = util.promisify(fs.readFile); اکنون می‌توانید از تابع readFile به عنوان یک promise استفاده کنید و از رفتار همزمان آن بهره‌برداری کنید. به عنوان مثال، می‌توانید در یک تابع async از تابع readFile استفاده کنید: async function readData() { try { const data = await readFile('file.txt', 'utf8'); console.log(data); } catch (error) { console.error(error); } } در این مثال، از تابع readFile استفاده می‌شود تا محتوای یک فایل به صورت همزمان خوانده شود. در صورت بروز خطا، خطا به صورت همزمان نمایش داده می‌شود.