timeout

abstract fun timeout(millis: Long): Flow<T>

返回一个 Flow,如果上游在给定的超时时间内没有发出任何值,该 Flow 将会抛出 TimeoutCancellationException

这个操作符会监视上游 Flow 的每个值之间的时间间隔。如果在指定的时间 millis 内没有新的值发出, 收集操作就会因超时而失败。

重要:此超时逻辑仅适用于上游的发射间隔,下游操作(如 onEach, collect 内部)的延迟不会触发此超时。

Return

一个应用了超时逻辑的新 Flow。

Parameters

millis

超时时间,单位为毫秒。如果为非正数,则 Flow 会立即超时。