asyncSingle<T> function
Returns a future that completes with the unique item in items
for which
filter
returns a future that completes with true. It completes with an
item only when its filter future completes with true AND all the other
filter futures complete with false.
If all filter futures complete with false or (at least 2 complete with true
and all the ones before them complete), then it completes with an error.
Example: prisonersDilemmaWinner = asyncSingle(prisoners, defects);
Implementation
Future<T> asyncSingle<T>(List<T> items, Future<bool> filter(T item)) =>
asyncWhere<T>(items, filter).single;