如何限制集团内的事件?
How to throttle events in bloc?
如何限制 bloc 中的事件?比方说,我想在用户输入时触发文件保存,但执行文件系统访问的频率不超过每 100 毫秒一次?
示例 bloc 事件处理程序:
on<StoreFile>(_handleStoreEvent);
每个处理程序都有一个可选的 transformer:
字段,可以进行节流(以及更多)。
使用 rxdart 您可以自己实施节流:
on<StoreFile>(
_handleStoreEvent,
transformer: (events, mapper) => events.throttleTime(Duration(milliseconds: 100)).switchMap(mapper),
);
我编写了 bloc_event_transformers 程序包来执行节流和去抖等流行的转换,以减少我的应用程序中的样板文件。可以这样使用:
on<StoreFile>(
_handleStoreEvent,
transformer: throttle(Duration(milliseconds: 100)),
);
如何限制 bloc 中的事件?比方说,我想在用户输入时触发文件保存,但执行文件系统访问的频率不超过每 100 毫秒一次?
示例 bloc 事件处理程序:
on<StoreFile>(_handleStoreEvent);
每个处理程序都有一个可选的 transformer:
字段,可以进行节流(以及更多)。
使用 rxdart 您可以自己实施节流:
on<StoreFile>(
_handleStoreEvent,
transformer: (events, mapper) => events.throttleTime(Duration(milliseconds: 100)).switchMap(mapper),
);
我编写了 bloc_event_transformers 程序包来执行节流和去抖等流行的转换,以减少我的应用程序中的样板文件。可以这样使用:
on<StoreFile>(
_handleStoreEvent,
transformer: throttle(Duration(milliseconds: 100)),
);