0
我正在學習一個learnunode教程,並被困在一個問題,所以我想你的幫助,因爲該軟件沒有提供足夠詳細的答案。錯誤回調不被識別
我正在「使其成爲模塊化」,要求將代碼分離爲模塊。我的模塊:
module.exports = function (dir, filter, err){
var fs = require("fs");
var re = new RegExp('\\.' + filter + '$');
fs.readdir(dir, function(err, list) {
if (err) return callback(err);
for (var i=0; i < list.length; i++) {
var name = list[i];
if(name.match(re))
console.log(list[i]);
};
});
}
但教程說,這是不正確與消息:
你額外的模塊文件:/home/user/learnunode/submodule.js不 不會出現傳回的從
fs.readdir()
收到使用您的回調中下面的慣用Node.js的模式
fs.readdir()
錯誤:如果(ERR)返回回調(ERR)失敗
但我正在使用這些行。我究竟做錯了什麼?
EDIT: 主叫模塊是這樣的: VAR MOD =要求( './子模塊');
var mod = require('./submodule');
var folder = process.argv[2];
var extension = process.argv[3];
mod(folder, extension);
也許我應該發現錯誤或聲明它並傳遞給mod?
戴着我的猜測帽子,但在這種情況下,在返回語句結尾會出現一個分號? –
通常情況下,如果你不使用大括號來構造你的代碼,那麼在'if'的同一行上有'return'。也許就是這樣。 – Andy
感謝您的答案,但都沒有改變結果。我將用新代碼更新我的問題。 –