我最近潜入了 Sails 并运行了一个基本工具。然而只是部分。我订阅了一个名为“工作”的模型的更改。但我只收到一条消息,当我通过邮递员 PUT、POST 或 DELETE 时,而不是当我使用浏览器的 io.socket 本身时。
我的订阅:
io.socket.on('connect', function connected() {
io.socket.on('job', function jobReceived(message) {
console.log("Got job", message);
});
});
我的基于浏览器的创建:
io.socket.post("/job", {uuid: 'someuuid', ..... }, function(data, err){
console.log(data||err);
io.socket.publishCreate(data.uuid); // Thought this might help, but is not defined.
});
一旦我刷新了页面,我基于浏览器创建的数据也在那里,所以它被存储了,但没有触发消息。
编辑:
使用 Angular 的 $http.post(...) 时,它可以工作并发送消息。它必须与插座有关...
为什么 Postman/Angular 会触发消息而 io.socket 不会?
编辑2:
我在应用程序的不同位置执行 GET。由于我可以接收直接从 Sails 服务器发出的任何更新,因此在这种情况下,我认为我的订阅不是问题。