我目前面临chokidar的一个小问题,我想知道我是否正确使用它。
所以在我的操作中,有一些文件在一些" x"之后传入。多少时间。我必须用一堆操作处理所有这些操作并将它们存储在数据库中。由于我已经有一些文件(大约8个),我必须将它们与传入的文件一起处理。
以下是我的chokidar对象:
_watcher(pattern){
const dir = this._getBaseDirFromPattern(pattern)
this.logger.debug(`Watching ${dir}`)
const w = chokidar.watch(dir, {
persistent: true,
polling: true,
ignoreinitial:false,
awaitWriteFinish: {
stabilityThreshold: 5000,
pollInterval: 600
}
})
w.on('error', (err) => this.logger.error(err))
return w
}
我在另一个函数中使用它:
_doStuff(){
this._watcher(parameter).on('add', (file) => {
// A bunch of callbacks here in this form.
return fs.readFile(file).then((buffer) => {
// do more stuff and have more callbacks
// Finally move the file at the end using fs-extra
}
}
}
最初,当我添加文件时,它会显示所有文件(在启动程序之前立即显示)并开始处理它,但在处理完2个文件后,它会冻结并且不会执行任何操作。我希望它一次处理一个文件,并在处理完每个文件后,我希望它在我移动处理过的文件时再次检查文件夹中的任何文件。
提前致谢。