gpt4 book ai didi

dart - 如何在 Dart 中通过 async* 传输错误?

转载 作者:IT老高 更新时间:2023-10-28 12:40:37 25 4
gpt4 key购买 nike

在 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!
},
)

最佳答案

简单扔

Stream<int> foo() async* {
throw FormatException();
}

关于dart - 如何在 Dart 中通过 async* 传输错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54756590/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com