Mar*_*ski 3 state-management reactive-programming dart flutter bloc
如何批量限制事件?比方说,我想在用户输入时触发文件保存,但执行文件系统访问的频率不超过每 100 毫秒一次?
块事件处理程序示例:
on<StoreFile>(_handleStoreEvent);
Run Code Online (Sandbox Code Playgroud)
每个处理程序都有一个可选transformer:字段,可以进行限制(以及更多)。
使用rxdart你可以自己实现限制:
on<StoreFile>(
_handleStoreEvent,
transformer: (events, mapper) => events.throttleTime(Duration(milliseconds: 100)).switchMap(mapper),
);
Run Code Online (Sandbox Code Playgroud)
我编写了bloc_event_transformers包来执行流行的转换,例如节流和去抖动,以减少应用程序中的样板文件。可以这样使用:
on<StoreFile>(
_handleStoreEvent,
transformer: throttle(Duration(milliseconds: 100)),
);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1962 次 |
| 最近记录: |