3

モデルのエンバーガイドでは、( 1 ) と書かれています:

Ember Data は、socket.io、Firebase、WebSocket などのストリーミング API と連携するようにも設計されています。サーバーへのソケットを開き、レコードへの変更が発生するたびにストアにプッシュできます。

Websocket を使用するカスタム アダプターを作成しようとしましたが、あまりうまくいきません。実用的な例はどこにも見つかりませんでした。

これは私の完全に未完成のプロトタイプです:

DS.WSAdapter = DS.Adapter.extend(Ember.Evented, {

    websocket: undefined,

    init: function () {
        if(this.websocket === undefined)
        {
            this.websocket = new WebSocket('ws://localhost:8887');

            this.websocket.onopen = function(e) {
                console.log("Connection established!");

            };
            this.websocket.onmessage = function(e) {
                // What to do here?
            }; 
        }

        this._loadData();
    },

    //....

websocket アダプターについて誰か助けてくれませんか?

websocket.onmessage()私の主な問題は、が実行されたときに何をすべきかわからないことです。DS.get('defaultStore')(を使用して)ストアにアクセスすることさえできません

4

2 に答える 2

1

Ember でソケットを直接操作した経験はありませんが、最近、非常によく似た方法論に従う必要がある Ember Data + Firebase アダプターを完成させました。

少なくとも、それをインスピレーションとして使用できるはずです。

https://github.com/sandersonet/ember-data-firebase

Firebase は下にあるソケットからの追加の抽象化レイヤーを提供しますが、方法論は非常に似ています。

于 2013-10-15T20:27:34.363 に答える