我有一个应用程序,允许用户连续将本地文件夹的内容上传到云中的文件夹。该应用程序是用构建的electron
and node.js
所以我需要帮助的代码是这样的:
fs.watch(getHomeDirectory(), (eventname, filename) => {
upload(
filename,
`${getHomeDirectory()}/${filename}`
);
})
该函数作为按钮上的事件侦听器的一部分被调用。
有一个吸气剂,getHomeDirectory
,获取文件夹的用户目录的函数,然后upload
上传在该文件夹中添加或更改的文件的功能。
我希望这样,只要将文件添加或更改到目标目录中,应用程序就可以继续上传文件。
现在它可以工作,但我希望用户能够关闭fs.watch
所以他们停止收听该文件夹。
我发现了这个堆栈溢出问题:NodeJS:取消监视文件并指定侦听器 https://stackoverflow.com/questions/12550222/nodejs-unwatching-a-file-and-specifying-a-listener。然而这仅涉及fs.watchFile
当我尝试做同样的事情时fs.watch
它不起作用。
我不知道我需要做什么。
fs.watch(...)
返回一个实例fs.FSWatcher https://nodejs.org/docs/latest/api/fs.html#fs_class_fs_fswatcher,其中有一个.close()
方法。因此,如果您想取消观看,您可以:
const watcher = fs.watch(getHomeDirectory(), (eventname, filename) => {
// your code here
})
然后,当您完成观察者后,您可以调用:
watcher.close()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)