我想重用我的websocket连接在我的custum中定义Adapted。定义如下适配:访问custum的字段RESTAdapter
DS.SocketAdapter = DS.RESTAdapter.extend({
socket: undefined,
init: function(){
this.socket = new App.WebSocketHandler("ws://my-cool-connection");
this._super();
},
find: function (store, type, id){
// override: use this.socket
},
findAll: function (store, type){
// override: use this.socket
},
createRecord: function(store, type, record){
// override: use this.socket
}
});
的插座属性保存活性WebSocket连接。在DS.Model更改时,适配器对保持数据更新非常有用。但..什么是在适配器外部重用我的连接的最佳方式?我可以访问插座属性吗?
任何想法?谢谢。
我的店:
App.Store = DS.Store.extend({
revision: 12, adapter: DS.SocketAdapter.create({})
});
为什么要重用连接?套接字属性应该可以在适配器上访问。 – 2013-04-29 18:18:19
是的。但是我有必要通过WebSocket发送消息给连接到服务器的另一个客户端。用几句话我写了一个聊天应用程序; DS.Model表示用户配置文件,但我会向服务器发送一条消息(使用我自己的协议,以便不影响模型行为) – Mattia 2013-04-29 19:22:46
我不知道您的应用中有哪些模型,但我可以想象这样的事情:App.User有很多App.Message。在这种情况下,您可以在创建/更新消息时在您的适配器中重用您的套接字。 – 2013-04-29 19:57:13