архитектура при получении объектов со стороны сервера - PullRequest
0 голосов
/ 31 декабря 2011

Когда я хотел получить что-то с сервера, я пару раз делал что-то, что мне показалось неправильным, и мой вопрос: есть ли лучший способ сделать это?

На стороне клиента я делаю;

socket.emit('getToy');

А на стороне сервера:

socket.on('getToy', function(){
   socket.emit('newtoy', thetoy);
});

Такое ощущение, что должен быть какой-то способ;

socket.emit('getToy', function(thetoy){
    //play with the toy
});

Как лучше всего поступать в этой ситуации?

1 Ответ

1 голос
/ 01 января 2012

На стороне клиента функции emit передайте функцию в качестве последнего параметра, и она может быть обработана RPC с сервера.

Клиент

socket.emit('getToy', function(thetoy) {
  // play
});

Сервер

socket.on('getToy', function(fn) {
  fn(thetoy);
});

Он находится на веб-сайте socket.io в разделе «Отправка и получение данных».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...