如何批量限制事件?比方说,我想在用户输入时触发文件保存,但执行文件系统访问的频率不超过每 100 毫秒一次?
块事件处理程序示例:
on<StoreFile>(_handleStoreEvent);
每个处理程序都有一个可选的transformer:
可以进行节流(以及更多)的字段。
Using rxdart https://pub.dev/packages/rxdart您可以自己实施限制:
on<StoreFile>(
_handleStoreEvent,
transformer: (events, mapper) => events.throttleTime(Duration(milliseconds: 100)).switchMap(mapper),
);
我写了bloc_event_transformers https://pub.dev/packages/bloc_event_transformers包进行流行的转换,如节流和去抖,以减少我的应用程序中的样板文件。可以这样使用:
on<StoreFile>(
_handleStoreEvent,
transformer: throttle(Duration(milliseconds: 100)),
);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)