处理由Chokidar按顺序观看的文件

时间:2018-06-15 13:00:32

标签: node.js chokidar

我目前面临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个文件后,它会冻结并且不会执行任何操作。我希望它一次处理一个文件,并在处理完每个文件后,我希望它在我移动处理过的文件时再次检查文件夹中的任何文件。

提前致谢。

0 个答案:

没有答案