2017-12-04 21 views
-4

javascriptを初めて使用しています。以下のコードでは、関数caleed "func"を作成しましたが、示されているようにパラメータを受け付けません。 "func"が "fs.readdir"に渡されるべきパラメータ を受け入れるようにするためです。言い換えれば、それは次のようなものでなければなりません。そう関数にパラメータを渡す方法

var func(path) = fs.readdir(path, (err, file)......); 

つまり、私は別のパラメータを使用してFUNCを呼び出すたびに、fs.readdirは

はどのように行うことができ、新たなパラメータで呼び出されるべきそれ。

コード

var func = function(path) { 
    fs.readdir(path, (err, files) => { 
     // ... 
    }); 
} 

func("somePath") // and call it like this 

あなたが複数の引数を渡したい場合は、次のだろうES5で

const func = path => fs.readdir(path, (err, files) => { 
     // ... 
    }); 

func("somePath") // and call it like this 

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); 
    }); 
    } 
}); 
+1

'function func(p){fs.readdir(p、...)}' ...? – deceze

+0

'fs.readdir'とは何ですか? – Igor

+0

@Igor:A [NodeJS API関数](https://nodejs.org/api/fs.html#fs_fs_readdir_path_options_callback)。 –

答えて

0

あなたはES6を使用しているので、

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 
+0

複数の引数を含む例を追加しました –

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); 
     }); 
    } 
    }); 
} 
関連する問題