使用 sails.io pubsub 适用于快捷方式,但不适用于 RESTful 记录创建

Using sails.io pubsub works with shortcuts, but not with RESTful record creation

当我使用 捷径路线 创建记录时,我遇到了一个问题,即我从风帆 resourceful pubsub 获取事件],但不适用于 RESTful 路线 .

在我的客户端代码中,我有一个为模型监听的 sails 套接字:

io.socket.on('users', function(event){console.log(event);})

如果我使用快捷方式创建记录 (http://localhost:1337/users/create?name=test),我会在控制台中按预期收到回调:

>{verb: "created", data: {…}, id: 44}

但是,如果我使用来自客户端的套接字 post,回调永远不会触发。

io.socket.post('/users', { name: 'test' });

记录是在数据库中创建的,更令人困惑的是 Sails 服务器日志说它发布了消息:

silly: Published message to  sails_model_create_users :  { verb: 'created',
  data:
   { name: 'test',
     createdAt: '2017-10-09T02:58:18.218Z',
     updatedAt: '2017-10-09T02:58:18.218Z',
     id: 44 },
  id: 44 }

我正在使用通用蓝图,sails 是 v0.12.14。知道我做错了什么吗?

我想通了为什么我没有在 pubsub 上返回事件。 Sails 从事件中排除发送请求的套接字。您可以从 post 回调中获得结果,但这会破坏我的数据流。所以我最终使用 io.sails.connect() 创建了 2 个套接字,一个用于 crud 调用,一个用于 pubsib。