gpt4 book ai didi

node.js - 等到文件创建后再在 node.js 中读取它

转载 作者:行者123 更新时间:2023-12-05 02:10:46 25 4
gpt4 key购买 nike

我正在尝试使用文件创建和删除作为 python 和 nodejs 之间的数据传输方法(这不是最好的方法,我知道。)。该程序的 python 端运行良好,因为我对 python 3 非常熟悉,但我无法使 node.js 脚本运行。

我尝试了多种检测文件创建时间的方法,主要是使用 try {} catch {},但都没有奏效。

function fufillRequest(data) {
fs.writeFile('Response.txt', data)
}

while(true) {
try {
fs.readFile('Request.txt', function(err,data) {
console.log(data);
});
} catch {

}
}

程序应该看到文件已经创建,读取它的内容,删除它,然后创建并写入响应文件。

最佳答案

@jfriend00 解决方案是正确的。但是,在上述解决方案中。它从不清除超时。这可能会导致问题。如果您需要阻塞代码和更好的计时器处理,您可以使用 setInterval。

示例:

const checkTime = 1000;
var fs = require("fs");
const messageFile = "test.js";
const timerId = setInterval(() => {
const isExists = fs.existsSync(messageFile, 'utf8')
if(isExists) {
// do something here
clearInterval(timerId)
}
}, checkTime)

您还可以运行您的 python 程序。无需编写其他脚本。

const spawn = require("child_process").spawn;
const proc = spawn('python',["./watch.py"]);

proc.stdout.on('data', (data) => console.log(data.toString()))
proc.stderr.on('data', (data) => console.log(data.toString()))

关于node.js - 等到文件创建后再在 node.js 中读取它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58157254/

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