Node.js在参数列表后过滤了LS - 缺失

时间:2016-06-05 06:59:50

标签: javascript node.js

我正在完成learnyounode研讨会,并且不确定我的代码有什么问题。我通过jslint运行它,它说:

预期')'匹配'('来自第6行,而不是看到' {'。

第6行是空白的。有人可以指出我正确的方向,以便我可以了解我做错了什么,纠正它,然后继续下一个练习?感谢。

var fs = require('fs');
var path = require('path');
var file = process.argv[2];
var ext = process.argv[3];
var filtered = [];

fs.readdir(file, callback(error, list) {
    if (error) console.error(error);
    else {
        for (i = 0; i < list.length; i++) {
            if (path.extname(list[i]) === ext) {
                filtered.push(list[i]);
                if (i === list.length - 1) {
                    console.log(filtered);
                }
            }
        }
    }   
});

精简指令是读取目录中的文件列表,并将具有与命令行提供的文件扩展名匹配的文件扩展名记录到控制台。

2 个答案:

答案 0 :(得分:2)

您需要使用功能关键字:

fs.readdir(file, function(error, list) {
    if (error) console.error(error);
    else {
        for (i = 0; i < list.length; i++) {
            if (path.extname(list[i]) === ext) {
                filtered.push(list[i]);
                if (i === list.length - 1) {
                    console.log(filtered);
                }
            }
        }
    }   
});

答案 1 :(得分:0)

app.use('/static', express.static('public'));代替function

callback