add method
Implementation
Future<T?> add(Future<T?> Function() taskFactory) async {
if (_hasResult) {
// Ignore if already short-circuited
return _result;
}
final task = _Task(taskFactory);
_taskQueue.add(task);
_run().ignore();
return task.completer.future;
}