executeAllAndWaitResults<P, R> method
Executes all the tasks
using this executor and waits for the results.
Implementation
Future<List<R>> executeAllAndWaitResults<P, R>(
Iterable<AsyncTask<P, R>> tasks,
{AsyncExecutorSharedDataInfo? sharedDataInfo,
bool disposeSentSharedData = false}) async {
if (disposeSentSharedData) {
sharedDataInfo ??= AsyncExecutorSharedDataInfo();
var executions = executeAll(tasks, sharedDataInfo: sharedDataInfo);
var results = await Future.wait(executions);
if (sharedDataInfo.sentSharedDataSignatures.isNotEmpty) {
await disposeSharedData(sharedDataInfo.sentSharedDataSignatures);
sharedDataInfo.disposedSharedDataSignatures
.addAll(sharedDataInfo.sentSharedDataSignatures);
}
return results;
} else {
var executions = executeAll(tasks, sharedDataInfo: sharedDataInfo);
return Future.wait(executions);
}
}