invoke<R, State> method

Future<R> invoke<R, State>(
  1. Call<R, State> call
)

---- Mutation / Concurrency ----

Implementation

Future<R> invoke<R, State>(Call<R, State> call) async {
  _checkNotDisposed();
  final tok = call.token;
  // token を持たない run() は従来通り
  if (tok == null) {
    return _executeSimple<R, State>(call);
  }

  final key = _mutationKey(tok);
  switch (call.concurrency) {
    case Concurrency.concurrent:
      return _executeSimple<R, State>(call); // トラッキングなし
    case Concurrency.queue:
      return _enqueue<R, State>(key, call);
    case Concurrency.restart:
      return _restart<R, State>(key, call);
    case Concurrency.dropLatest:
      return _dropLatest<R, State>(key, call);
  }
}