【发布时间】:2018-08-08 19:44:28
【问题描述】:
所以我正在做一个 nodejs 教程,它要求我使用模块来过滤目录中的所有文件。而且我应该使用惯用的方法来处理错误。下面是我的 modules.js 和我的 main program.js,但是,程序说
Your additional module file [module.js] does not appear to pass back an
error received from fs.readdir(). Use the following idiomatic Node.js
pattern inside your callback to fs.readdir():
if (err) return
callback(err)
但我确实使用if (err)return callback(err); 处理了第一行的错误
有人可以指出我做错了什么或我没有遵循什么最佳做法吗?谢谢
module.exports = function filterList(dirName, extName, callback) {
fs.readdir(dirName, function callback(err, list) {
if (err)
return callback(err);
for (var i = 0; i < list.length; i++) {
if (path.extname(list[i]) == '.' + extName) {
callback(null, list[i]);
}
};
});
}
我的program.js如下
var myMod = require('./module');
function printOut(err, result) {
if (err) {
console.log(err);
};
console.log(result);
}
myMod(process.argv[2], process.argv[3], printOut);
【问题讨论】:
标签: node.js error-handling callback idioms