waitCommandResult method
等待指令返回
@param filterFunc 指令筛选条件
@param timeout 等待时间 秒为单位
@return CommandResult
Implementation
Future<CommandResult> waitCommandResult(
CommandFilterFunc filterFunc, int timeout) async {
Completer<CommandResult> completer = Completer();
CommandCondition condition = CommandCondition(filterFunc, completer);
Future.delayed(Duration(seconds: timeout), () {
_commandFilters.remove(condition);
if (!completer.isCompleted) {
completer.complete(CommandResult(false, 0, null));
}
});
_commandFilters.add(condition);
return completer.future;
}