NPM酷库,每天两分钟,了解一个流行NPM库。
所有Node.js标准库和很多第三方库提供的接口都是callback样式的,在ES7标准时代,使用async/await配合Promise才是最佳实践。
昨天我们了解到可以用bluebird库将callback样式库转化为Promise样式,同时bluebird库也提供了强大在增强版的Promise,如果我们需要转化callback函数,且仅需要使用标准的Promise,那么使用bluebird有些大材小用。
pify
pify 库是一个专门用来将callback样式的库转化为Promise风格接口的库,除此之外别无任何其他功能,所以pify是一个非常轻量、低碳的库。
const fs = require('fs');
const pify = require('pify');
// ...
await pify(fs.readFile)('package.json', 'utf8');
await pify(fs).readFile('package.json', 'utf8');