Здравствуйте, есть вот такая функция
exports.list = () => {
return new Promise((resolve, reject) => {
try {
if (conect) {
const hash = crypto.randomBytes(30).toString('hex')
socket
.emit('list', JSON.stringify({
auth: key,
hash: hash
}))
.on('list', (data) => {
data = JSON.parse(data)
if (data.hash === hash) {
resolve(data.list)
}
});
} else {
reject(new Error('Disconnect to socket API'))
}
} catch (error) {
reject(error)
}
})
}
И она вызывается очень часто, и как я понимаю при каждом вызове я создаю слушатель list, и после того как я получаю ответ он не удаляется и из-за этого огромная нагрузка на сервер, сегодня уже задавал
вопрос.
Как я понимаю после получения ответа от слушателя мне нужно его удалить, но как удалить конкретный слушатель List, а не все?
Socket использую для получения данных (как API), и как сделать тоже самое с одним слушателем не знаю, может кто делал что подобное, и есть выход из такой ситуации?