execute method
Executes the query.
Returns the ResultSet object representing the query result.
Implementation
Future<ResultSet> execute() async {
this.options["queryId"] = queryId;
if (!_stored && tokens.length > 0) {
_stored = await _channel.invokeMethod('storeQuery', this);
}
try {
final List<dynamic> resultSet =
await _channel.invokeMethod('executeQuery', this);
List<Result> results = List<Result>();
for (dynamic result in resultSet) {
Result newResult = Result();
newResult.setMap(result["map"]);
newResult.setList(result["list"]);
results.add(newResult);
}
return ResultSet(results);
} on PlatformException {
// Remove all listeners on error
tokens.keys.forEach((token) {
removeChangeListener(token);
});
rethrow;
}
}