Показать сообщение отдельно
  #10 (permalink)  
Старый 24.04.2018, 11:28
Профессор
Отправить личное сообщение для Artur_Hopf Посмотреть профиль Найти все сообщения от Artur_Hopf
 
Регистрация: 13.03.2018
Сообщений: 278

destus,
Не можешь подсказать об обновлении данных?
С функции мы передали данные на страницу, я воткнул set interval:
io.on('connection', function(socket){  
    setInterval(function() {
    data.then(response => socket.emit('data1', response));
    }, 1000);
});


У клиента вывел в консоль:
var socket = io();
socket.on('data1', function (data) {
console.log(data);
});

Да, ежесекундно с сервера приходят данные, но они не обновляются, при старте сервера он делает запрос и все, отдает то что получил, думаю проблема в асинхронной функции:
async function data() {
    try {
        let pool = await connect(config);
        
        let result = await pool.request()
            .query('select * from table');

        return result;
        
    } catch (err) {
        console.log(err);
    };
};


Если я прямо после нее делаю так:
setInterval(function() {
     data().then(console.log).catch(console.error);
}, 1000);

После первого опроса выводит результат, а дальше ошибки:

Error: Global connection already exists. Call sql.close() first.

Получается мне надо переделать функцию, или можно оставить и обновлять данные по другому?

В базе данные обновляются без моего вмешательства.
Ответить с цитированием