【发布时间】:2019-07-12 09:16:57
【问题描述】:
在 Flutter 中,我们使用 StreamBuilder 接收一个 Stream e 给我们一个包含“数据”但也包含“错误”对象的 Snapshot 对象。
我想用 async* 创建一个产生数据的函数,但由于某些条件,它也会产生一些错误。我怎样才能在 Dart 中实现这一点?
Stream<int> justAFunction() async* {
yield 0;
for (var i = 1; i < 11; ++i) {
await Future.delayed(millis(500));
yield i;
}
yield AnyError(); <- I WANT TO YIELD THIS!
}
然后,在 StreamBuilder 中:
StreamBuilder(
stream: justAFunction(),
builder: (BuildContext context, AsyncSnapshot<RequestResult> snapshot) {
return Center(child: Text("The error tha came: ${snapshot.error}")); <- THIS SHOULD BE THE AnyError ABOVE!
},
)
【问题讨论】: