帆-为什么我仅从CRUD“快捷方式”接收套接字更新?

时间:2018-08-24 19:41:10

标签: javascript websocket sails.js

Sails 1.0.2

我有一个Printer模型,并且此代码在客户端:

io.socket.get('/printer/find', function (data) {
    console.log(data); // display all the printers, that's ok
});

io.socket.on('printer', function (notification) {
    console.log(notification);
});

然后在控制器中,我正在更新打印机:

await Printer.update({
    token: inputs.token
}).set({
    status: inputs.status
});

当我执行控制器代码(例如,提交表单)时,我没有收到任何通知(即使是从另一个选项卡或另一个隐身窗口中执行该控制器)。

但是,如果我改用CRUD的“快捷方式”路由更新打印机(在浏览器中访问http://localhost:1337/printer/update/1?status=ready),则它可以正常工作:

  

{动词:“已更新”,数据:{…},id:1,上一个:{…}}

当然,我可以Printer.publish(...)来解决此问题,但我想知道为什么会这样,以及是否有一种无需使用CRUD“捷径”路线即可自动发布的方法。

0 个答案:

没有答案