trigger method

void trigger({
  1. StreamSubscriptionUnit<T>? self,
})

如果isPaused状态没有改变,resume时有可能发生这种情况 手动为self更新数据

Implementation

void trigger({StreamSubscriptionUnit<T>? self}) {
  final lastPaused = isPaused;
  _isPaused = activeUnits.isEmpty;

  var notified = false;
  if (lastPaused != isPaused) {
    notifyClient();
    notified = true;
  }

  if (self != null) {
    if (!listenFirst) {
      _childResume(self);
    } else if (!notified) {
      notifyClient();
    }
  }
}