Fix compliting alrady completed future

This commit is contained in:
Yegor Vialov 2019-11-28 18:33:27 +00:00
parent 90504047b4
commit a6541134e0

View File

@ -330,12 +330,16 @@ class ConnectionManager {
String rawMessage = json.encode(dataObject); String rawMessage = json.encode(dataObject);
if (!isConnected) { if (!isConnected) {
_connect().timeout(connectTimeout, onTimeout: (){ _connect().timeout(connectTimeout, onTimeout: (){
if (!_completer.isCompleted) {
_completer.completeError(HAError("No connection to Home Assistant", actions: [HAErrorAction.reconnect()])); _completer.completeError(HAError("No connection to Home Assistant", actions: [HAErrorAction.reconnect()]));
}
}).then((_) { }).then((_) {
Logger.d("[Sending] ==> ${auth ? "type="+dataObject['type'] : rawMessage}"); Logger.d("[Sending] ==> ${auth ? "type="+dataObject['type'] : rawMessage}");
_socket.sink.add(rawMessage); _socket.sink.add(rawMessage);
}).catchError((e) { }).catchError((e) {
if (!_completer.isCompleted) {
_completer.completeError(e); _completer.completeError(e);
}
}); });
} else { } else {
Logger.d("[Sending] ==> ${auth ? "type="+dataObject['type'] : rawMessage}"); Logger.d("[Sending] ==> ${auth ? "type="+dataObject['type'] : rawMessage}");