syncFromEventOrNull

inline suspend fun <E : Event, R : Any> syncFromEventOrNull(timeoutMillis: Long, priority: EventPriority = EventPriority.MONITOR, crossinline mapper: suspend E.(E) -> R?): R?

挂起当前协程, 监听这个事件, 并尝试从这个事件中获取一个值, 在超时时返回 null

Return

超时返回 null, 否则返回 mapper 返回的第一个非 null 值.

See also

本函数的异步版本

普通地监听一个事件

挂起当前协程, 并获取下一个事件实例

Parameters

timeoutMillis

超时. 单位为毫秒. -1 为不限制

mapper

过滤转换器. 返回非 null 则代表得到了需要的值.

Throws

mapper 抛出任何异常时, 本函数会抛出该异常