execute method

void execute({
  1. OnPreExecute? onPreExecute,
  2. DoInBackground<Param, Result>? doInBackground,
  3. OnProgressUpdate<Progress>? onProgressUpdate,
  4. OnPostExecute<Result>? onPostExecute,
  5. OnCompleted? onCompleted,
  6. List<Param>? values,
})

Implementation

void execute({
  OnPreExecute? onPreExecute,
  DoInBackground<Param, Result>? doInBackground,
  OnProgressUpdate<Progress>? onProgressUpdate,
  OnPostExecute<Result>? onPostExecute,
  OnCompleted? onCompleted,
  List<Param>? values,
}) {
  _onPreExecute = onPreExecute ?? _onPreExecute;
  _doInBackground = doInBackground ?? _doInBackground;
  _onProgressUpdate = onProgressUpdate ?? _onProgressUpdate;
  _onPostExecute = onPostExecute ?? _onPostExecute;
  _onCompleted = onCompleted ?? _onCompleted;
  if (_onPostExecute != null)
    operation.value.then((value) => _onPostExecute!(result: value));
  if (_onCompleted != null) operation.value.whenComplete(_onCompleted!);
  if (_onPreExecute != null) _onPreExecute!();
  complete(Future(() => _doInBackground!(values: values)));
}