timeout用于检测在给定时间内observables没有及时响应。如果指定的时间量没有发出任何项目,则超时会使observables失败并出现TimeoutException。
我们将从debounce的示例中重用我们的observable来演示超时。
输出:
只要值不超过200ms,就会输出。一旦值超过到达值,就会推送错误。
您可以提供后备observable而不是失败。发生超时时,生成的observable将切换到备胎。从那时起,原始的可观察者将被忽略,即使它恢复了。
输出:
您还可以指定每个项目的超时窗口。在这种情况下,您提供了一个为每个值创建一个observable的函数。当observable终止时,这是超时的信号。如果在此之前没有发出任何值,则会触发超时。
以下是使用此重载实现的一个示例:
输出:
同样,您可以提供observable的后备。输出与前两个示例相同。
原文:https://github.com/Froussios/Intro-To-RxJava/blob/master/Part%203%20-%20Taming%20the%20sequence/5.%20Time-shifted%20sequences.md
下节继续!
有什么讨论的内容,可以加我公众号: