emit method
Implementation
Future<SocketResponse> emit(String event, [data]) async {
Completer<SocketResponse> completer = Completer<SocketResponse>();
SocketRequest request = SocketRequest.create(event, data);
request = interceptors.fold(
request, (request, interceptor) => interceptor.onRequest(request));
_socket?.emitWithAck(request.event, request.data, ack: (data) {
try {
SocketResponse response = SocketResponse(data);
if (checkResponse(data)) {
response = interceptors.fold(response,
(response, interceptor) => interceptor.onResponse(response));
completer.complete(response);
} else {
_onError(data);
completer
.completeError(SocketException(response, StackTrace.current));
}
} catch (err) {
completer.completeError(err);
}
});
return completer.future;
}