Pull to refresh

Comments 3

странно, читать о проблемах, которые были решены уже на заре появления ws, и описаны тут, к сожаления не могу найти эту статью, но суть в том что предаваемые данные делятся на две части через разделитель- "команда" — разделитель — данные.
в браузере элементарно, с помощью split, разделяются. и с помощью "рефлексии" вызывается функция по имени команды, и ей передаются данные. одна точка входа и выполнение любой функции в любом месте


как вариант
    con.onmessage = function (response) {
            if (typeof (response.data) === 'string')
            {
                var r = rg.exec(response.data);
                try {
                    if (r[1].includes('.'))
                    {
                        var d = r[1].split('.');
                        window[d[0]][d[1]](r[2]);
                    } else
                    {
                        window[r[1]](r[2]);
                    }
                } catch (er) {
                    console.log('ошибка ' + er.stack);
                    console.log('вызов ' + r[1]);
                    console.trace();
                }
            }   

где *rg = /^([a-z_0-9.]{1,})|([\s\S])/i;**(к примеру)


На серверной стороне также просто реализуется (на java, как минимум) есть метод onmessage, который "вызывает" с помощью рефлексии (про медленность рефлексии прошу не высказываться, это давно не так) нужный метод. для каждой страницы свой файл .java в котором находятся методы для работы с данной страницей. Наглядно, удобно.
Это конечно не Angular, но количество "служебного кода" намного меньше.

есть рабочие проекты, могу надергать. Что конкретно интересует? Серверная часть (там java)? Клиентская? после минусов здесь выкладывать не хочется :)
Sign up to leave a comment.

Articles