Как перезаписать и обновить данные с помощью веб-сокета в HTML

Я новичок в html и пытаюсь обновить свои данные, используя Websocket в html. Тем не менее, я застрял в обновлении моих данных без нажатия кнопки обновления с веб-сайта... Он загружается, когда я использую console.log (receive_msg) из веб-сокета, но не обновляет данные после одного раза. Как я могу перезаписать и постоянно обновлять данные? Я знаю, что это может быть действительно глупым вопросом. Должен ли я использовать цикл while или for для этого, или есть ли способы сделать это?

Вот часть моего кода в HTML

$.ajaxSetup({
        async: false
    });

var ws = new WebSocket("ws:'my websocket address'"); //just hide my websocket address
    ws.onmessage = function (evt){
        var received_msg = evt.data;
        console.log(received_msg);
        json_parsing = JSON.parse(received_msg);    //updating just once and no updates after that.
        $.each(json_parsing, function(key, val) {
            listStats.push(val);
        });
    }

Кто-нибудь может помочь мне здесь? Спасибо!

1 ответ

Если вы хотите получить доступ json_parsing переменная снаружи ws.onmessage область действия функции, вам нужно объявить это глобально:

var json_parsing;
var ws = new WebSocket("ws:'my websocket address'");
ws.onmessage = function (evt){
    var received_msg = evt.data;
    json_parsing = JSON.parse(received_msg);
    $.each(json_parsing, function(key, val) {
        listStats.push(val);
    });
}

затем json_parsing будет доступен для всего документа.

Другие вопросы по тегам