如何解决为什么 ScanStreamTransformer 不返回任何内容
我不确定我的代码的哪一部分是错误的。我无法在我的 ScanStreamTransformer
中接收任何内容,正如您在下面的代码中看到的 _itemsTransformer()
我返回了 ScanStreamTransformer
并且我希望 ScanStreamTransformer
中的打印工作或返回缓存,但它不起作用。
class CardBloc {
final _repo = Repository();
final _tIds = PublishSubject<List<int>>();
final _itemsOt = BehaviorSubject<Map<int,Future<ItemModel>>>();
final _itemsFt = PublishSubject<int>();
Stream<List<int>> get topIds => _tIds.stream;
Stream<Map<int,Future<ItemModel>>> get items => _itemsOt.stream;
Function(int) get fetchItem => _itemsFt.sink.add;
fetchIds() async {
final ids = await _repo.fetchIds();
_tIds.sink.add(ids);
}
CardBloc() {
_itemsFt.stream.transform(_itemsTransformer()).pipe(_itemsOt);
}
_itemsTransformer() {
return ScanStreamTransformer(
(Map<int,Future<ItemModel>> cache,int id,index) {
print('should be print!');
cache[id] = _repo.fetchItem(id);
return cache;
},<int,Future<ItemModel>>{},);
}
dispose() {
_tIds.close();
_itemsOt.close();
_itemsFt.close();
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。