util.promisify(fn) تبدیل تابع کالبک به تابع Promisebased.
util.promisify(fn) تبدیل تابع کالبک به تابع Promisebased.
مقاله: استفاده از تابع util.promisify(fn) برای تبدیل تابع کالبک به تابع Promise-based مقدمه: در برنامهنویسی نرمافزار، اغلب برای اجرای عملیاتهایی که زمان زیادی میبرند، از تابع کالبک (callback) استفاده میشود. این تابعها معمولاً در قالب یک تابع ناهمزمان (as…
2023-09-303 دقیقه مطالعه
util.promisify(fn) تبدیل تابع کالبک به تابع Promisebased.
مقاله: استفاده از تابع util.promisify(fn) برای تبدیل تابع کالبک به تابع Promise-based
مقدمه:
در برنامهنویسی نرمافزار، اغلب برای اجرای عملیاتهایی که زمان زیادی میبرند، از تابع کالبک (callback) استفاده میشود. این تابعها معمولاً در قالب یک تابع ناهمزمان (asynchronous) اجرا میشوند و پس از اتمام عملیات مورد نظر، یک تابع کالبک را صدا میزنند. با این حال، استفاده از تابع کالبک ممکن است منجر به پیچیدگی و خوانایی کد شود. به همین دلیل، در این مقاله، راهکاری برای تبدیل تابع کالبک به تابع Promise-based را معرفی خواهیم کرد.
تبدیل تابع کالبک به تابع Promise-based با استفاده از util.promisify(fn):
تابع util.promisify(fn) یک تابع در ماژول اصلی Node.js است که برای تبدیل تابع کالبک به تابع Promise-based استفاده میشود. این تابع به شما امکان میدهد تا یک تابع کالبک را به صورت یک تابع Promise-based تبدیل کنید و از قابلیتهایی مانند async/await و then/catch برای کنترل جریان اجرای کد استفاده کنید.
نحوه استفاده از تابع util.promisify(fn):
برای استفاده از تابع util.promisify(fn)، ابتدا باید ماژول util را به کد خود اضافه کنید. سپس، با استفاده از تابعی که میخواهید آن را به تابع Promise-based تبدیل کنید، تماس بگیرید و آن را به عنوان آرگومان به تابع util.promisify(fn) بدهید. سپس میتوانید از تابع تبدیل شده استفاده کنید.
مثال:
فرض کنید یک تابع کالبک به نام readFile وجود دارد که فایلی را میخواند و نتیجه را به عنوان آرگومان به تابع کالبک میدهد. برای تبدیل این تابع به یک تابع Promise-based، میتوانید از تابع util.promisify(fn) استفاده کنید. کد زیر نحوه استفاده از این تابع را نشان میدهد:
```javascript
const util = require('util');
const fs = require('fs');
const readFilePromise = util.promisify(fs.readFile);
readFilePromise('example.txt')
.then(data => {
console.log(data);
})
.catch(error => {
console.error(error);
});
```
در این مثال، تابع fs.readFile که یک تابع کالبک است، با استفاده از تابع util.promisify(fn) به تابع Promise-based تبدیل شده است. سپس از تابع تبدیل شده به نام readFilePromise استفاده شده و با است
دیدگاهها
پس از بررسی و تأیید مدیر، دیدگاهها در سایت نمایش داده میشوند.
هنوز دیدگاهی منتشر نشده است
اولین نفری باشید که نظر میدهد.