You'll want to wrap the entire fs.readFile
invocation inside a new Promise
, and then reject or resolve the promise depending on the callback result:
function getData(fileName, type) {
return new Promise(function(resolve, reject){
fs.readFile(fileName, type, (err, data) => {
err ? reject(err) : resolve(data);
});
});
}
[UPDATE] As of Node.js v10, you can optionally use the built-in Promise implementations of the fs
module by using fs.promises.<API>
. In the case of our readFile
example, we would update our solution to use fs.promises
like this:
function getData(fileName, type) {
return fs.promises.readFile(fileName, {encoding: type});
}
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…