等待输入超时的协程
Coroutine that waits for input with timeout
我是协程的新手,我正在尝试理解 if/how 我可以利用它们来执行以下操作:
- 开始监听事件(例如,键盘输入)
- 如果事件到来,对其做出反应(做某事)
- 如果 n 秒内没有事件到达,则执行其他操作
我在想我可能需要让超时本身成为一个事件。但是我很难理解这些东西。执行上述操作的一个简单示例将非常有启发性。
您可以使用 Kotlin' own timeout functionality.
val result = withTimeoutOrNull(timeoutInMillis) {
var event = getKeybouardEvent()
while(event == null) {
event = getKeybouardEvent()
}
return event
}
if(result == null) doThis() else doThat()
我是协程的新手,我正在尝试理解 if/how 我可以利用它们来执行以下操作:
- 开始监听事件(例如,键盘输入)
- 如果事件到来,对其做出反应(做某事)
- 如果 n 秒内没有事件到达,则执行其他操作
我在想我可能需要让超时本身成为一个事件。但是我很难理解这些东西。执行上述操作的一个简单示例将非常有启发性。
您可以使用 Kotlin' own timeout functionality.
val result = withTimeoutOrNull(timeoutInMillis) {
var event = getKeybouardEvent()
while(event == null) {
event = getKeybouardEvent()
}
return event
}
if(result == null) doThis() else doThat()