使用 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。
当我使用 捷径路线 创建记录时,我遇到了一个问题,即我从风帆 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。