1

Тема: Оновлення змінної через setInterval

Вітаю.
У мене питання: як можна оновити змінну через setTimeout?
Суть полягає в тому, що потрібно через цей метод робити запит на сервер і отримати повідомлення для чату.
Я хочу реалізувати відображення нових повідомлень в чаті через перевірку довжини повідомлень.
Я прошу просто пояснити як це коректно зробити. Ось код:

var defaultMessagesLength; // створюю змінну, в якій зберігається стара довжина повідомлень
 
    function checkMessages() {
 
        var a = setInterval(function () {
            var messagesNewArray = JSON.parse(authentication.getMessages()); //роблю запит для нових повідомлень
            let currentMessagesLength = messagesNewArray.length; //визначаю довжину нових повідомлень
            defaultMessagesLength = messagesArray.length; // привласнюю довжину старих повідомлень - вони беруться з зовнішньої функції
 
           if(defaultMessagesLength!==currentMessagesLength) { //роблю перевірку довжин, якщо не рівні, то виконується код (я думаю не принципово який)
 
              //виконання коду
               }
 
           //після виконання коду я хочу переприсвоїти значення старої довжини на нову
 
            defaultMessagesLength=currentMessagesLength;
 
        },3000);
 
    }
 
    checkMessages();

Але при налагодженні в консолі значення змінної не змінюється.
Як правильно можна передати значення нової довжини в стару?

Заздалегідь дякую.

Подякували: leofun011

2 Востаннє редагувалося koala (23.07.2019 11:14:17)

Re: Оновлення змінної через setInterval

У принципі, це має працювати.
У вас там зайві відступи. Перевірте, чи реально виконується цей код, чи не забули десь фігурні дужки чи викликати функцію, чи приходить повідомлення для обробки (найтупіше - console.log-ами).

Подякували: maxpachinov, leofun012

3

Re: Оновлення змінної через setInterval

Все працює. Дякую

4

Re: Оновлення змінної через setInterval

Відпишіть тоді, в чому була проблема і як виправили.

5

Re: Оновлення змінної через setInterval

Додаю посилання на репозиторій з працюючою версією.
https://github.com/arbuzaicer/chat.git

Подякували: koala, leofun012