Node.js 8 的时候,引入了 util.promisify()
方法,可以把 node-like 的回调函数改造成返回 Promise 实例的方法,我当时还写了篇博文《Node.js 8 中的 util.promisify》小记。
所以我现在写 Node.js 基本都是这种风格:
const fs = require('fs');
const {promisify} = require('util');
const readFile = promisify(fs.readFile);
const writeFile = promisify(fs.writeFile);
刚才在推上看到两位大佬聊起这个话题,发现可以这么搞:
去查了一下 Node.js 的文档,发现这是 v10 新增的 API,升级之后即可使用。
我比较喜欢这么做:
const {promises: {readFile, writeFile}} = require('fs');
(async () => {
let content = await readFile('1.txt', 'utf8');
content = doSthToContent(content);
await writeFile('2.txt', content, 'utf8');
console.log('ok');
})();
欢迎吐槽,共同进步