once method

Future<DatabaseEvent> once([
  1. DatabaseEventType eventType = DatabaseEventType.value
])

Listens for exactly one event of the specified event type, and then stops listening. Defaults to DatabaseEventType.value if no eventType provided.

Implementation

Future<DatabaseEvent> once([
  DatabaseEventType eventType = DatabaseEventType.value,
]) async {
  switch (eventType) {
    case DatabaseEventType.childAdded:
      return DatabaseEvent._(
        await _queryDelegate.onChildAdded(_modifiers).first,
      );
    case DatabaseEventType.childRemoved:
      return DatabaseEvent._(
        await _queryDelegate.onChildRemoved(_modifiers).first,
      );
    case DatabaseEventType.childChanged:
      return DatabaseEvent._(
        await _queryDelegate.onChildChanged(_modifiers).first,
      );
    case DatabaseEventType.childMoved:
      return DatabaseEvent._(
        await _queryDelegate.onChildMoved(_modifiers).first,
      );
    case DatabaseEventType.value:
      return DatabaseEvent._(await _queryDelegate.onValue(_modifiers).first);
  }
}