Issue
I am making an application using flutter framework .
During this I came across with the keywords in Dart async
and async*
.
Can anybody tell me what's the difference between them?
Solution
Marking a function as async
or async*
allows it to use the async
/await
for a Future
.
The difference between both is that async*
will always return a Stream
and offer some syntactical sugar to emit a value through the yield
keyword.
We can therefore do the following:
Stream<int> foo() async* {
for (int i = 0; i < 42; i++) {
await Future.delayed(const Duration(seconds: 1));
yield i;
}
}
This function emits a value every second, which increments every time.
Answered By - Rémi Rousselet
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.