selectMessages 
  inline suspend fun <T : MessageEvent, R> T.selectMessages(timeoutMillis: Long = -1, filterContext: Boolean = true, priority: EventPriority = EventPriority.MONITOR, crossinline selectBuilder: MessageSelectBuilder<T, R>.() -> Unit): R
挂起当前协程, 等待任意一个事件监听器触发后返回其返回值.
创建的所有事件监听器都会判断发送人信息 (isContextIdenticalWith), 监听之后的所有消息.
selectBuilder DSL 类似于 EventChannel.subscribeMessages 的 DSL, 屏蔽了一些 reply DSL 以确保类型安全
val value: String = selectMessages {
  "hello" { "111" }
  "hi" { "222" }
  startsWith("/") { it }
  default { "default" }
}Content copied to clipboard
Parameters
timeoutMillis 
超时. 单位为毫秒. -1 为不限制
See also
挂起协程并等待下一条消息