import 'dart:async';
Stream get asynchronousNaturals async* {
print("Begin");
int k = 0;
while (k < 3) {
print("Before Yield");
yield k++;
}
print("End");
}
main() {
StreamSubscription subscription = asynchronousNaturals.listen(null);
subscription.onData((value) {
print(value);
//subscription.pause();
});
}
另一种实现方式:
import 'dart:async';
Stream asynchronousNaturalsTo(n) async* {
print("Begin");
int k = 0;
while (k < n) yield k++;
print("End");
}
main() {
asynchronousNaturalsTo(3).listen((v) {
print(v);
});
}