У меня есть ожидание цикла для получения данных из бесконечного потока внутри функции потока 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"
Спасибо.