Данные добавляются к последнему HTML в цикле for при использовании socket.on в цикле for.В чем моя ошибка? - PullRequest
0 голосов
/ 22 сентября 2018

Вот фрагмент кода, который я пытаюсь запустить -

$(document).ready(function(){
            var socket = io({
                transports: ['websocket'],
                upgrade: false
            });
            socket.on('start', function (cou) {
                var newHTML =  '';
                var divSocket;
                for (var i = 0; i < cou.length; i++) {
                    newHTML += '<li class="small"><div class="thumbnail">'+
                        '<div class="tools"><button class="btn btn-small snapmail" data-num="/cam'+i+'" type="button rel="'+
                        'data-original-title="Snap &amp; Mail"><i class="icon-camera"></i></button><a class="btn btn-small gallery"'+
                        'href="/cam'+i+'" data-num="/cam"'+i+'"><i class="icon-th"></i></a></div>';
                    var img = '<img id="/cam'+i+'" class="small">';
                    newHTML += img+'</div><span class="label label-custom">U.K.</span></li>';
                };
                $('#grid').html(newHTML);
                for (var i = 0; i < cou.length; i++) {
                    var image = document.getElementById('/cam'+i);
                    divSocket = io(location.origin + '/cam'+i);
                    divSocket.on('data', function (data) {
                        var bytes = new Uint8Array(data);
                        image.src = 'data:image/jpeg;base64,' + bytes;
                    });
                };
            });
        });

После запуска этого кода все данные добавляются в последний HTML.Куда я иду не так?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...