我正在使用SailsJS的内置套接字功能,它一直工作得很好。现在我遇到了一个障碍,我找不到任何有关的信息。
我的模型设置为使用水线模型关联填充一些属性,例如:
getAll: function() {
return Issue.find()
.sort('createdAt DESC')
.populate('author')
.populate('group')
.populate('tags')
.then(function (models) {
return [models];
});
},
通过API调用该方法时工作正常。但是,在通过put
进行更新并且调用Issue.publishUpdate(id, update);
的情况下,将未填充的属性发送给订阅的客户端。这不是我所期望的行为,因为publishCreate
,另一方面,发送填充结果。
为了解决这个障碍,我可以在发送publishUpdate之前手动填充属性,但是这似乎不像是使用Sails的正确方法?所以在我走那条路之前,我很想听听其他人的想法或经历。
帆v0.10.1
蓝图API调用publishUpdate,但它实际上是一个可以在任何地方使用的独立方法:
http://sailsjs.org//文档/引用/websockets/resourceful-pubsub publishUpdate.html
publishUpdate广播您传入的数据,因此要广播填充的数据,您需要传入它。