pause method

void pause([
  1. Future<void>? resumeSignal
])

Stops invoking this subscription's callback and drops future events.

If resumeSignal completes, the subscription resumes automatically. A failed signal also resumes the subscription, matching Stream semantics.

Implementation

void pause([Future<void>? resumeSignal]) {
  if (_isCancelled) {
    return;
  }

  _isPaused = true;
  if (resumeSignal != null) {
    unawaited(
      resumeSignal.then<void>(
        (_) => resume(),
        onError: (_, __) => resume(),
      ),
    );
  }
}