Подтвердить что ты не робот

Обновление полимерного компонента через Websocket?

Я хочу найти самый простой способ (желательно, не полагаясь на множество дополнительных библиотек) для подключения компонента Polymer с веб-сокетом, чтобы я мог легко его обновить из бэкэнд.

Сейчас я исследовал это с помощью bacon.js, так как очень просто настроить поток событий непосредственно из веб-сокета. Моя идея - отфильтровать эти сообщения и направить их на отдельные компоненты Polymer. Однако, если это можно легко сделать без bacon.js или других библиотек (т.е. Только с самим полимером и обычным веб-сокером javascript), которые могут быть предпочтительнее. Любые идеи, подсказки или пример кода?

Спасибо, заранее

/Роберт

4b9b3361

Ответ 1

Вот очень простой способ обработки websocket с использованием полимера

    Polymer({
        is: "ws-element",
        socket: null,
        properties: {
            protocol: {
                type: String
            },
            url: {
                type: String
            }
        },
        ready: function () {
            this.socket = new WebSocket(this.url, this.protocol);
            this.socket.onerror = this.onError.bind(this);
            this.socket.onopen = this.onOpen.bind(this);
            this.socket.onmessage = this.onMessage.bind(this);
        },
        onError: function (error) {
            this.fire('onerror', error);
        },
        onOpen: function (event) {
            this.fire('onopen');
        },
        onMessage: function (event) {
            this.fire('onmessage', event.data);
        },
        send: function (message) {
            this.socket.send(message);
        },
        close: function () {
            this.socket.close();
        }
    })

Пожалуйста, взгляните на Элемент полимера WebSocket, элемент Polymer использует собственный клиент WebSocket, который поставляется с большинством современных современных браузеров.