hopefully fix nuclearace/Socket.IO-Client-Swift#27
This commit is contained in:
parent
7d08f962d5
commit
ac31b4a788
@ -206,8 +206,8 @@ public class SocketIOClient: NSObject {
|
||||
ackNum: self.currentAck, socket: self)
|
||||
self.ackHandlers.append(ackHandler)
|
||||
|
||||
dispatch_async(self.emitQueue) {[weak self] in
|
||||
self?._emit(event, args, ack: true)
|
||||
dispatch_async(self.emitQueue) {[weak self, ack = self.currentAck] in
|
||||
self?._emit(event, args, ack: ack)
|
||||
return
|
||||
}
|
||||
|
||||
@ -218,7 +218,7 @@ public class SocketIOClient: NSObject {
|
||||
return self.emitWithAck(event, args)
|
||||
}
|
||||
|
||||
private func _emit(event:String, _ args:[AnyObject], ack:Bool = false) {
|
||||
private func _emit(event:String, _ args:[AnyObject], ack:Int? = nil) {
|
||||
var frame:SocketEvent
|
||||
var str:String
|
||||
|
||||
@ -229,22 +229,22 @@ public class SocketIOClient: NSObject {
|
||||
}
|
||||
|
||||
if hasBinary {
|
||||
if !ack {
|
||||
if ack == nil {
|
||||
str = SocketEvent.createMessageForEvent(event, withArgs: items,
|
||||
hasBinary: true, withDatas: emitDatas.count, toNamespace: self.nsp)
|
||||
} else {
|
||||
str = SocketEvent.createMessageForEvent(event, withArgs: items,
|
||||
hasBinary: true, withDatas: emitDatas.count, toNamespace: self.nsp, wantsAck: self.currentAck)
|
||||
hasBinary: true, withDatas: emitDatas.count, toNamespace: self.nsp, wantsAck: ack)
|
||||
}
|
||||
|
||||
self.engine?.send(str, datas: emitDatas)
|
||||
} else {
|
||||
if !ack {
|
||||
if ack == nil {
|
||||
str = SocketEvent.createMessageForEvent(event, withArgs: items, hasBinary: false,
|
||||
withDatas: 0, toNamespace: self.nsp)
|
||||
} else {
|
||||
str = SocketEvent.createMessageForEvent(event, withArgs: items, hasBinary: false,
|
||||
withDatas: 0, toNamespace: self.nsp, wantsAck: self.currentAck)
|
||||
withDatas: 0, toNamespace: self.nsp, wantsAck: ack)
|
||||
}
|
||||
|
||||
self.engine?.send(str)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user