【问题标题】:Is it possible to wait for fs.watch to detect all files when dropping them to a dir?将文件拖放到目录时是否可以等待 fs.watch 检测所有文件?
【发布时间】:2020-09-11 02:21:47
【问题描述】:

我有一个目录,我想在其中查看文件。我不时地一次删除一个或多个文件。 每当我删除多个文件时,我想在读取所有文件时将回调传递给fs.watch,因为我想批量执行操作。

这可能吗?如何? 我还可以保留将文件名记录到控制台的正常回调吗?

我在想也许我可以使用Promise.all

到目前为止,这是我的代码:

const fs = require("fs");
const file = "towatch/";
console.log(`Watching for file changes on ${file}`);

fs.watch(file, (eventType, changedFile) => {
  console.log(`File Changed ${changedFile}`);
});

【问题讨论】:

    标签: node.js fs watch


    【解决方案1】:

    听起来您希望有一个时间窗口来等待查看是否将多个文件放入文件夹中。

    您可以通过将更改的文件推送到队列而不是直接处理来实现这一点。然后,您可以使用回调 setTimeout 根据您想要的时间窗口来处理文件。每次添加新文件时清除并重新启动回调,如果您没有收到任何新文件,则处理回调将执行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多