【发布时间】:2022-01-06 11:33:27
【问题描述】:
我无法触发流的 onDone 回调。
我试过取消流订阅并关闭流控制器,但它不起作用。
这是一个基本示例:
示例代码:
import 'dart:async';
void main() async {
final streamController = StreamController<int>();
final streamSubscription = streamController.stream.listen(
(event) => print('Value emitted: $event'),
onDone: () => print('Task done'),
);
streamController.add(1);
await Future<void>.delayed(Duration.zero);
await streamSubscription.cancel();
await streamController.close();
}
预期输出:
Value emitted: 1
Task done
实际输出:
Value emitted: 1
【问题讨论】:
-
你看过这个其他帖子了吗:stackoverflow.com/questions/63784151/…它也许可以帮助你调查正在发生的事情