【发布时间】:2020-03-07 16:01:32
【问题描述】:
我有一个使用 websocket api for javascript 的 websocket 客户端,而我的服务器正在使用 socket.io
我正在尝试这样的回调函数
客户端 js 使用内置 javascript WebSocket api
//im formatting the string like that because thats what socket.io needs for some reason
var sendString = '42' + JSON.stringify(['checkLogin' , username, password])
socket.send(sendString, function(returnData){
console.log(returnData);
resolve(returnData);
})
但我不断收到一个错误,即回调不是我的服务器端使用 socket.io 的函数,看起来像这样
服务器 js 使用 socket.io 库
socket.on('checkLogin', function(username, password, callback){
console.log(username, password)
webUser.findOne({username:username}, function(err, docs) {
console.log(docs)
if(docs){
if(docs.password == password){
callback(docs._id)
}else{
callback(false)
}
}
if(!docs){
callback(false)
}
});
})
我可以改变什么来正确设置回调函数
【问题讨论】:
-
您使用的是哪个 websocket 库?请为您正在使用的确切 webSocket 库发布 NPM 页面的链接。
-
我正在使用浏览器内置的 websocket API。我正在测试它会在一个 HTML 文件中,但对于构建 tabris 应用程序,它使用相同的 api
-
服务器端?你说错误是“回调不是函数”服务器端所以我问你在服务器上使用什么库。而且,如果您需要有关服务器端错误的帮助,您必须向我们展示相关的服务器端代码。如果错误不在您的服务器上,请更正您的问题。
-
仅供参考,客户端
socket.send()没有回调函数作为参数。 -
那么有没有办法使用 WebSockets API 来实现我想要做的事情?我也编辑了我的问题,抱歉我今天感觉不对:(
标签: javascript websocket promise socket.io callback