We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 9d3b507 commit 579960fCopy full SHA for 579960f
1 file changed
JavaScript/8-promisify.js
@@ -0,0 +1,31 @@
1
+'use strict';
2
+
3
+const promisify = (fn) => (...args) => {
4
+ const promise = new Promise((resolve, reject) => {
5
+ const callback = (err, data) => {
6
+ if (err) reject(err);
7
+ else resolve(data);
8
+ };
9
+ fn(...args, callback);
10
+ });
11
+ return promise;
12
+};
13
14
+// Usage
15
16
+const fs = require('node:fs');
17
+const read = promisify(fs.readFile);
18
19
+const main = async () => {
20
+ const fileName = '8-promisify.js';
21
+ const data = await read(fileName, 'utf8');
22
+ console.log(`File "${fileName}" size: ${data.length}`);
23
+ try {
24
+ const data = await read('unknown.file', 'utf8');
25
+ console.log(`File size: ${data.length}`);
26
+ } catch (error) {
27
+ console.error(error.message);
28
+ }
29
30
31
+main();
0 commit comments