gpt4 book ai didi

node.js - fs watch 在一次更改时触发两次

转载 作者:太空宇宙 更新时间:2023-11-03 23:17:56 39 4
gpt4 key购买 nike

我刚刚开始接触 NodeJS,这是我编写的第一个示例。

const fs = require('fs');
fs.watch('target.txt', () => {
console.log('File target.txt just changed..');
});
console.log('Now watching target.txt for changes');

当我echo 'Hello..' >> target.txt时,我看到控制台日志发生了两次。

为什么会有这种奇怪的行为。

我正在使用 Node v8.12.0

最佳答案

根据 Node 的documentation对于 fs.watch(文件名[, 选项][, 监听器]):

已知警告:

fs.watch API 并非跨平台 100% 一致,并且在某些情况下不可用。仅 macOS 支持递归选项Windows

此外,Windows 有一个已知的设计 issue其中为写入文件而触发两个回调。这在类似的帖子here.中得到了验证。

fs.watch 只是 Node 上一个有缺陷的 API,导致行为不一致

希望有帮助!

关于node.js - fs watch 在一次更改时触发两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53069182/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com