У меня есть функция в 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
двойной вызов вызывает проблему. Итак, конечная точка уже открыта. Напишите подробнее, не понятно чего вы хотите добиться. - person 4xy   schedule 07.01.2021