将附加参数传递给Javascript回调函数 [英] Pass additional parameter to Javascript callback function
本文介绍了将附加参数传递给Javascript回调函数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要在Node.JS应用程序中观看少量目录:
函数已更新(event,filename) {
log(CHANGED\t / share / channels /+ filename);
}
for(i in channels)
fs.watch('share / channels /'+ channels [i],{persistent:false},updated);问题是fs.watch只传递文件名到回调函数,而不包括它的目录。有没有办法我能以某种方式传递一个额外的参数到updated()函数,所以它知道文件的位置?
我想我正在寻找类似于Python的 functools.partial
,如果这有助于任何。
解决方案您可以使用 Function.bind
:
函数已更新(extraInformation,event,filename){
log \t / share / channels /+ extraInformation + filename);
}
for(i in channels)
fs.watch('share / channels /'+ channels [i],{persistent:false},
updated .bind(null,'wherever / it / is /'));
I need to watch a small number of directories in a Node.JS application:
function updated(event, filename){
log("CHANGED\t/share/channels/" + filename);
}
for(i in channels)
fs.watch('share/channels/' + channels[i], {persistent: false}, updated);
The problem is that fs.watch only passes the filename to the callback function, without including the directory it's in. Is there a way I can somehow pass in an extra parameter to the updated() function so it knows where the file is?
I think I'm looking for something similar to Python's functools.partial
, if that helps any.
解决方案 You can use Function.bind
:
function updated(extraInformation, event, filename) {
log("CHANGED\t/share/channels/" + extraInformation + filename);
}
for(i in channels)
fs.watch('share/channels/' + channels[i], {persistent: false},
updated.bind(null, 'wherever/it/is/'));
这篇关于将附加参数传递给Javascript回调函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文