O想在SailsJS上使用带套接字的自定义方法。
new: function(req, res){
Talk.create({message: "text"}).exec(function created(err,created){
Talk.publishCreate(created);
res.send(created);
});
}
在客户端,我完全按照此处的描述进行操作:http://beta.sailsjs.org/#/documentation/reference/websockets/resourceful-pubsub/publishCreate.html
publishCreate不向客户端发送更新。有什么我想念的吗?
答案 0 :(得分:1)
问题很可能是您没有使用.watch()
方法订阅create
消息,如您链接到的文档中所述:
publishCreate的默认实现仅发布消息 firehose,以及使用the订阅模型类的套接字 观看方法
在最新版本的Sails中,sails.config.blueprints.autoWatch
属性默认为true
,这意味着套接字将自动开始监听"创建"消息,只要它发现"发现"呼叫,如io.sockets.get('/talk')
。否则,您需要使用Talk.watch(req);
在控制器中手动订阅套接字。