map<A, B> function
- B fn(
- A
Maps over a Task by applying the provided function fn to its result.
Given a function fn that transforms a value of type A to a value of type B,
and a Task that will eventually produce a value of type A,
this function returns a new Task that will eventually produce a value of type B.
Example:
Task<int> sampleTask = Task(() => Future.value(5));
Task<String> mappedTask = map<int, String>((int value) => 'Value is: $value')(sampleTask);
Implementation
Task<B> Function(Task<A> task) map<A, B>(B Function(A) fn) {
return (Task<A> task) {
return Task<B>(() async => fn(await task.task()));
};
}