Использование sails.io pubsub работает с ярлыками, но не с созданием записей RESTful.
У меня возникла проблема, когда я получаю события из ресурсного pubsub паруса, когда создаю запись с маршрутами быстрого доступа, но не с маршрутами RESTful.
В моем клиентском коде у меня есть сокет sails, который я слушаю для модели:
io.socket.on('users', function(event){console.log(event);})
Если я использую ярлык для создания записи ( http://localhost:1337/users/create?name=test), я получаю обратный вызов в консоли, как и ожидалось:
>{verb: "created", data: {…}, id: 44}
Однако, если я использую сокет для отправки сообщений от клиента, обратный вызов никогда не срабатывает.
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 }
Я использую общие чертежи, паруса v0.12.14. Есть идеи, что я делаю не так?
1 ответ
Я понял, почему я не вернул события в пабе. Sails исключает сокет, который отправил запрос из события. Вы можете получить результат от обратного вызова, но это нарушает мой хороший поток данных. Поэтому я использовал io.sails.connect(), чтобы создать 2 сокета, один для грубых вызовов и один для pubsib.