使用rxjava时如何取消慢发射
How to cancel slow emission when using rxjava
我在 Android 上实现了搜索功能。有时出现的问题是初始搜索请求触发了运行非常缓慢的网络请求,最终 returns 出现错误。在此期间,用户通过在搜索栏中输入内容来触发另一次搜索,returns 成功响应并向用户显示搜索结果。
但是,当第一个结果耗时太长而失败时 returns,它会变成空结果,从而破坏现有的搜索结果。 RxJava 中是否有一个运算符可以忽略这个耗时过长的请求?
我通过使用 switchMap 取消初始请求解决了这个问题。在它使用 flatMap 之前。
我在 Android 上实现了搜索功能。有时出现的问题是初始搜索请求触发了运行非常缓慢的网络请求,最终 returns 出现错误。在此期间,用户通过在搜索栏中输入内容来触发另一次搜索,returns 成功响应并向用户显示搜索结果。
但是,当第一个结果耗时太长而失败时 returns,它会变成空结果,从而破坏现有的搜索结果。 RxJava 中是否有一个运算符可以忽略这个耗时过长的请求?
我通过使用 switchMap 取消初始请求解决了这个问题。在它使用 flatMap 之前。