如何结束(完成)基于另一个无限流创建的异步流?

时间:2019-10-09 14:48:11

标签: asynchronous flutter dart

我有一个等待循环,该循环从 stream函数async * 函数内部的无限流中获取数据 我想在特定条件下完成(结束)流。

我期望break;中的await for会这样做,但不会。 有什么建议么? 这是一个代码段:

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!');
}

print('流完成!')命令从未发生,并且StreamBuilder小部件从不获取“ ConnectionState.done”

谢谢。

0 个答案:

没有答案