我有这个快捷的代码:
[[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客户端库。
我无法看到我做错了什么,以及如何解决这个错误。谢谢你的帮助。
答案 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});
});