2
の引数取得:私はこれを持っている非同期親関数
function change(event, file) {
console.log("filename", file);
//It should be '_file', not 'file'.
files.clients(file, function(clientOfFile) {
console.log("for client:", clientOfFile);
io.sockets.socket(clientOfFile).emit("change");
});
}
client.on("watch", function(file) {
_file = base + file; //filename with path
files.add(_file, client.id);
fs.watch(_file, change);
});
fs.watch
はパスなしでファイル名をコールバックに渡されます。だから私は親関数の引数_file
を取得します。私は.call
を使うことができると思ったが、コールバックでそれをする方法は? possiblitysの
他の可能性について私は興味がありますか? – Hahi
@Hahi:おそらく最も簡単な解決法は、イベントハンドラとして 'change'関数の代わりに無名関数を使うことでしょう。そうすれば、クロージャのために '_file'にアクセスできます。 – jAndy