作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
transformEvents
方法将在 bloc 版本 8 中删除,我们应该使用 onEvent
方法代替,我们如何为事件实现 debounce
使用 onEvent
?
@override
Stream<Transition<PriceProposalEvent, PriceProposalState>> transformEvents(
Stream<PriceProposalEvent> events,
TransitionFunction<PriceProposalEvent, PriceProposalState> transitionFn,
) =>
super.transformEvents(
events.debounceTime(const Duration(milliseconds: 200)),
transitionFn,
);
最佳答案
Bloc 7.2.0 中的新功能 https://verygood.ventures/blog/whats-new-in-bloc-v7-2-0
现在它使用transformer
!
import 'package:bloc/bloc.dart';
import 'package:stream_transform/stream_transform.dart';
class YourBloc extends Bloc<Event, State> {
YourBloc() : super(StateInitial()) {
on<PriceProposalEvent>(_onPriceProposalEvent,
transformer: debounce(const Duration(milliseconds: 200)));
}
}
//Debounce query requests
EventTransformer<E> debounce<E>(Duration duration) {
return (events, mapper) {
return events.debounce(duration).switchMap(mapper);
};
}
希望对您有所帮助!
关于flutter - 如何为 'onEvent' 的事件实现去抖动器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69372529/
我是一名优秀的程序员,十分优秀!