Я пытаюсь понять код от socket.io/examples/chat/app.js. Я не могу объяснить, что fn()
Вызывает среднее значение в строках 71 и 73. Я предполагаю, что это функция обратного вызова, но где его определение? Это короткий вызов другой функции из app.js
? ...
Это вызов функции прототипа объекта сокета?Значение fn() в файле примера socket.io chat
Фрагмент (строки 69-78):
[...]
socket.on('nickname', function (nick, fn) {
if (nicknames[nick]) {
fn(true);
} else {
fn(false);
nicknames[nick] = socket.nickname = nick;
socket.broadcast.emit('announcement', nick + ' connected');
io.sockets.emit('nicknames', nicknames);
}
});
[...]
Да, я заметил это, но как узнать, что такое фактическое тело этой функции (я имею в виду fn)? Клиент отправляет сообщение «ник». После этой функции (nick, fn) вызывается назад. Но, опять же, какая функция передается как fn? ... – gvlax
Ok @ Сидничный, я думаю, что понял. Фактически, это объясняется в ** Отправка и получение данных (подтверждения). ** раздел по [link] (http://socket.io/#how-to-use) – gvlax
@gvlak: определена функция обратного вызова [здесь] (https://github.com/LearnBoost/socket.io/blob/0339e745fd75857b844f46368cc6d85aef295146/lib/namespace.js#L269), в namespace.js. – s4y