getNumberEvents method

Future<List<Event>> getNumberEvents(
  1. int number, {
  2. int timeout = 1000000,
})

Implementation

Future<List<Event>> getNumberEvents(int number,
    {int timeout = 1000000}) async {
  int start = DateTime.now().millisecondsSinceEpoch;
  List<Event> ret = await Future.doWhile(() =>
          events.length < number &&
          start + 1000 * timeout > DateTime.now().millisecondsSinceEpoch)
      .then((value) => events);
  if (events.length < number) {
    throw TimeoutException(
        'Timeout reached while waiting for $number events');
  }
  return ret;
}