Я хочу прослушать поток событий, а затем условно прекратить прослушивание на основе полученного события.Прекратить прослушивание события из внутреннего прослушивателя событий
Короче говоря, я хотел бы использовать:
var subscription = stream.listen((event) {
if (f(event)) {
doStuff();
subscription.cancel();
} else {
doOtherStuff();
}
});
Это, очевидно, не работает; subscription
не существует до тех пор, пока слушатель не будет создан, что приведет к ошибке.
Как это сделать?
теперь я чувствую себя глупо. По какой-то причине я подумал, что дротик имеет захват по значению, а не захват по имени (с чем-то интересным, происходящим с петлями). – dhasenan