Asynchronous 如何结束(完成)基于另一个无限流创建的异步*流?
我有一个wait for循环,在流函数async*函数中从无限流获取数据 我想在一定条件下完成(结束)流 我期待着Asynchronous 如何结束(完成)基于另一个无限流创建的异步*流?,asynchronous,flutter,dart,Asynchronous,Flutter,Dart,我有一个wait for循环,在流函数async*函数中从无限流获取数据 我想在一定条件下完成(结束)流 我期待着break
break退出等待
将执行此操作,但不会执行此操作。
有什么建议吗?
以下是一段代码片段:
Stream<int> conditionLoop() async* {
await for (double value in hardware.inputStream()) {
if (value < 0.0 || value > 98.0) break;
yield value.round();
}
print('stream completed!');
}
Stream conditionLoop()异步*{
等待(hardware.inputStream()中的双值){
如果(值<0.0 | |值>98.0)中断;
屈服值。舍入();
}
打印('流已完成!');
}
print('stream completed!')命令从未出现,StreamBuilder小部件也从未获得“ConnectionState.done”
谢谢。中断
确实让等待
。如果函数不起作用,则未达到中断
。请删除for循环并尝试使用。然后在输入流方法之后使用If条件。并使用流订阅停止该流。