服务器Socket.io回调崩溃,使用swift客户端库

时间:2018-01-12 07:15:13

标签: ios swift socket.io

我有这个快捷的代码:

[[self.socket emitWithAck:@"setup_request" with:@[]] timingOutAfter:0 callback:^(NSArray* data) {
   NSLog(@"%@", data);
}];

与此服务器功能配对:

client.on('setup_request', function(data, callback) {
    callback({ success:true});
});

但在执行时,服务器崩溃并显示以下消息:

callback({ success:true});
^

TypeError:回调不是函数

我使用的是服务器版本2.0.4和13.1.0 Swift客户端库。

我无法看到我做错了什么,以及如何解决这个错误。谢谢你的帮助。

2 个答案:

答案 0 :(得分:0)

所以我猜你的项目中存在某种桥接,因为第一个块是Objective C代码,你的代码很快。 另外callback:^(NSArray* data)表示回调期望传递NSArray,但是在你的代码中你传递了一个闭包。

改为通过NSArray:callback(["success"] as? NSArray)

答案 1 :(得分:0)

发现问题,服务器方法界面在版本2.0中发生了变化,现在就像:

client.on('setup_request', (callback) => {
    callback({success:true});
});