Использование 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.

Другие вопросы по тегам