Я думал, что я знал, как добиться обратного вызова, вот что у меня есть:JS возвращает обратный вызов неопределенные не является функцией
index.html:
socket.on('userCapture', data, function(callback){
if(callback){
//do stuff
} else {
alert('Username in use.');
}
});
index.js:
socket.on('userCapture', function(data, callback){
username = data.username;
question = data.question;
socket.username = username;
socket.room = username;
function isInArray(arr,obj) {
return (arr.indexOf(obj) != -1);
}
if(isInArray(usernames, username)){
callback(false);
} else {
callback(true);
}
});
Идея заключается в том, что я проверяю массив usernames для переданного значения и передаю его клиенту, если он существует, или нет. Я не понимаю, почему это приводит к неопределенности, поскольку у меня есть тот же самый код в другом месте, и он работает.
С уважением
, где находится 'index.js'? это серверная сторона? – Sosdoc
Да, я использую nodejs с socket.io – Richard
как вы отправляете 'обратный вызов'? Вы не можете отправлять функции через веб-узел. – Sosdoc