我尝试使用NodeJ在每个事件“更改”之间放置一个时间间隔
我尝试使用setTimeout()
,但这没用,因为要等待时间并同时处理所有文件。
fs.watch('Desktop/folder', function(event, filename){
if (event == 'Change'){
// sleep(10);
console.log('processing...')
process(filename);
)}})
我做错了什么?
预期结果:
(将5个文件放在“桌面/文件夹”中)
> processing...
(wait 10 seconds)
> processing...
(wait 10 seconds)
> processing...
(wait 10 seconds)
> processing...
(wait 10 seconds)
> processing...
(wait 10 seconds)
实际结果:
(将5个文件放在“桌面/文件夹”中)
(wait 10 seconds)
> processing...
> processing...
> processing...
> processing...
> processing...
答案 0 :(得分:0)
实际上,使用setTimeout()是正确的。这将在“更改”事件发生后10毫秒执行到处理方法。但是,您可能需要在setTimeout()方法中包含console.log语句,以便查看所需的输出。
fs.watch('Desktop/folder', function(event, filename){
if (event == 'Change'){
setTimeout(() => {
console.log('processing...')
process(filename);
}, 10000)
)}})
答案 1 :(得分:0)
您需要使用setInterval
来处理间隔。您可以详细了解here
fs.watch('Desktop/folder', function(event, filename){
if (event == 'Change'){
setInterval(() => {
console.log('processing...')
process(filename);
}, 10000)
)}})