我是javascript的新手。在下面发布的代码中,我创建了一个函数caleed" func",但是如图所示它不接受任何参数。我想要的是,制造" func"接受参数 应传递给" fs.readdir"。换句话说,它应该类似于以下内容:
var func(path) = fs.readdir(path, (err, file)......);
这样,每当我用不同的参数调用func时,应该用新参数调用fs.readdir
我该怎么做。
码:
var func = fs.readdir(p, (err, files) => {
if (err) {
console.log('ERROR: ' + err.message);
} else {
files.filter( (file)=> {
console.log(file + '____' + fs.statSync(file).size);
});
}
});
答案 0 :(得分:0)
因为你正在使用ES6:
const func = path => fs.readdir(path, (err, files) => {
// ...
});
func("somePath") // and call it like this
在ES5中将是:
var func = function(path) {
fs.readdir(path, (err, files) => {
// ...
});
}
func("somePath") // and call it like this
如果要传递多个参数:
const func = (path, arg2, arg3) => fs.readdir(path, (err, files) => {
console.log(arg2, arg3) // "Second argument", "Third argument"
});
func("somePath", "Second argument", "Third argument") // and call it like this
答案 1 :(得分:0)
您应该将func
定义为新功能。您可以使用箭头函数语法,但使用function
关键字更明确。
var func = function (path) {
fs.readdir(path, (err, files) => {
if (err) {
console.log('ERROR: ' + err.message);
} else {
files.filter( (file)=> {
console.log(file + '____' + fs.statSync(file).size);
});
}
});
}