Socket-перья с использованием событий - PullRequest
0 голосов
/ 01 июня 2018

В документах feathersjs, например, здесь , рекомендуемый способ вызова сервера - отправка события.Почему бы просто не сделать вызов приложения?Так зачем использовать:

socket.emit('find', 'messages', { status: 'read', user: 10 }, (error, data) => {
  console.log('Found all messages', data);
});

Когда вы можете просто сделать:

app.service('messages').find({ query: { status: 'read', user: 10 } }) 

Это просто люди предпочитают запись события или есть другие аргументы для рассмотрения?

1 Ответ

0 голосов
/ 01 июня 2018

На странице документации, на которую вы ссылаетесь, объясняется, как использовать веб-сокет напрямую - например, если вы подключаетесь к приложению Android или не хотите / не можете использовать перья на клиенте.

Это рекомендуется использовать Перья на клиенте всегда, когда это возможно, и это автоматически делает то же самое для вас автоматически.Код клиента, подобный следующему:

const io = require('socket.io-client');
const feathers = require('@feathersjs/feathers');
const socketio = require('@feathersjs/socketio-client');

const socket = io('http://api.my-feathers-server.com');
const app = feathers().configure(socketio(socket));

app.service('messages').find({ query: { status: 'read', user: 10 } })
  .then(data => console.log('Found all messages', data));

Действует точно так же, как

const io = require('socket.io-client');
const socket = io('http://api.my-feathers-server.com');

socket.emit('find', 'messages', { status: 'read', user: 10 }, (error, data) => {
  console.log('Found all messages', data);
});

Но с первым вы получаете доброту (хуки, события, обещания, аутентификация) и знакомство сприложение Перья.

...