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);
if (!isConnected) {
_connect().timeout(connectTimeout, onTimeout: (){
_completer.completeError(HAError("No connection to Home Assistant", actions: [HAErrorAction.reconnect()]));
if (!_completer.isCompleted) {
_completer.completeError(HAError("No connection to Home Assistant", actions: [HAErrorAction.reconnect()]));
}
}).then((_) {
Logger.d("[Sending] ==> ${auth ? "type="+dataObject['type'] : rawMessage}");
_socket.sink.add(rawMessage);
}).catchError((e) {
_completer.completeError(e);
if (!_completer.isCompleted) {
_completer.completeError(e);
}
});
} else {
Logger.d("[Sending] ==> ${auth ? "type="+dataObject['type'] : rawMessage}");