Open1
Flutter/Dartで毎秒数字が生成されるStreamを作る
StreamBuilder
などで気軽にStreamを試したい場合、次のようにして、毎秒List<int>
が更新されるStreamを作ることができる。
// [0],[0,1],[0,1,2]... のように、毎秒要素が一つずつ増える
final numGenerator = (() async* {
final nums = <int>[];
for (var i = 0; i < 999; i++) {
await Future<void>.delayed(
const Duration(
milliseconds: 1000,
),
);
nums.add(i);
yield nums;
}
})();
...
StreamBuilder<List<int>>(
stream: numGenerator,
builder: (BuildContext context, AsyncSnapshot<List<int>> snapshot) {
...