dispatch events on main queue
This commit is contained in:
parent
5d8479ed36
commit
44de79d8c5
@ -248,23 +248,25 @@ class SocketIOClient: NSObject, SRWebSocketDelegate {
|
|||||||
func handleEvent(event:String, data:AnyObject?, isInternalMessage:Bool = false,
|
func handleEvent(event:String, data:AnyObject?, isInternalMessage:Bool = false,
|
||||||
wantsAck ack:Int? = nil, withAckType ackType:Int = 3) {
|
wantsAck ack:Int? = nil, withAckType ackType:Int = 3) {
|
||||||
// println("Should do event: \(event) with data: \(data)")
|
// println("Should do event: \(event) with data: \(data)")
|
||||||
if !self.connected && !isInternalMessage {
|
dispatch_async(dispatch_get_main_queue()) {
|
||||||
return
|
if !self.connected && !isInternalMessage {
|
||||||
}
|
return
|
||||||
|
}
|
||||||
for handler in self.handlers {
|
|
||||||
if handler.event == event {
|
for handler in self.handlers {
|
||||||
if data is NSArray {
|
if handler.event == event {
|
||||||
handler.executeCallback(nil, items: (data as! NSArray))
|
if data is NSArray {
|
||||||
if ack != nil {
|
handler.executeCallback(nil, items: (data as! NSArray))
|
||||||
self.emitAck(ack!, withEvent: event,
|
if ack != nil {
|
||||||
withData: handler.ack.ackData, withAckType: ackType)
|
self.emitAck(ack!, withEvent: event,
|
||||||
}
|
withData: handler.ack.ackData, withAckType: ackType)
|
||||||
} else {
|
}
|
||||||
handler.executeCallback(data)
|
} else {
|
||||||
if ack != nil {
|
handler.executeCallback(data)
|
||||||
self.emitAck(ack!, withEvent: event,
|
if ack != nil {
|
||||||
withData: handler.ack.ackData, withAckType: ackType)
|
self.emitAck(ack!, withEvent: event,
|
||||||
|
withData: handler.ack.ackData, withAckType: ackType)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user