flutter - Flutter - 转换颤振 bloc 事件以添加去抖动
问题描述
我正在尝试使用颤振块制作一个无限列表。
根据这篇文章,要在两个事件之间添加延迟以便 api 不会被垃圾邮件发送,您需要覆盖transformEvents
并添加 debounce 到这样的事件:
@override
Stream<GithubSearchState> transformEvents(
Stream<GithubSearchEvent> events,
Stream<GithubSearchState> Function(GithubSearchEvent event) next,
) {
return (events as Observable<GithubSearchEvent>)
.debounceTime(
Duration(milliseconds: 300),
)
.switchMap(next);
}
我面临的问题是 Observable 已被 RxDart 弃用,我不确定如何完成上述要求。
解决方案
我找到了解决方案。
@override
Stream<Transition< GithubSearchEvent, GithubSearchState >> transformEvents(
Stream< GithubSearchEvent > events, transitionFn) {
return events
.debounceTime(const Duration(milliseconds: 300))
.switchMap((transitionFn));
}
推荐阅读
- java - 使用带有@JsonTypeName 的EXTERNAL_PROPERTY 时,序列化字符串中的两个类型字段
- c - 有没有办法在 C 语言中将字符串的长度应用于数组的大小?
- arrays - 使用 unix paste 命令并排打印数组元素?
- postgresql - Postgres 要求忘记密码 (MacOS)
- css - TailwindCSS / Prettier 在 @apply 中添加空间
- python - Kaggle Python 课程练习:字符串和字典 Q. no. 2
- c++ - 在并行代码中调试分段错误
- android-emulator - 如何通过 Bluestacks 上的“adb 备份/恢复”确认解锁?
- shiny - 在选择 Advanced checkboxInput 时禁用/启用 selectInput 和 fileInput
- python - Python selenium 给了我一个空的文本字符串