【发布时间】:2021-01-06 22:38:53
【问题描述】:
我在 node.js 中有一个函数,它使用 puppeteer 获取数据并将其输出到 json 文件。我接受的数据发生了变化,所以我需要经常重置我的函数,我用 setInterval 来做到这一点。在我的函数里面我有一个
var server = http.createServer((req, res) => {
if (req.url === "/"){
res.writeHead(200, {"Content-Type": "application/json", "Access-Control-Allow-Origin": "http://localhost:3000"})
res.end(JSON.stringify(dataExplained))
}
})
server.listen(8080, "127.0.0.1")
(dataExplained 是我存储数据的对象)。
当它在 setInterval 中第二次运行时,它会输出此错误:
错误:监听 EADDRINUSE:地址已在使用 127.0.0.1:8080
我明白为什么会出现此错误,这是因为我正在创建并侦听存在端口上的服务器,但我不知道如何停止它。
是否有一个 editServer 而不是创建服务器,还是我必须做其他事情?
请帮助
【问题讨论】:
-
不是
createServer,是server.listen双重调用导致问题。所以端点已经打开。提供更多细节,不清楚你想要达到什么目的。
标签: javascript node.js json fetch puppeteer