我在里面有一个函数,我在特定时间触发一个事件。
fun startTimeWarning() {
viewModelScope.launch {
withContext(Dispatchers.Default) {
if (!isActive) {
delay(2000)
// trigger event
}
}
}
}
现在我想在cancelTimeWarning
中触发新事件,并确保startTimeWarning
未处于活动状态。是否可以在withContext
中取消?
fun cancelTimeWarning() {
viewModelScope.launch {
// new event trigger
}
}
我登记了这个answer,但我不认为它会帮助我。非常感谢
1条答案
按热度按时间zf9nrax11#
这并不是说你想不想使用
Job
,viewModelScope.launch
会返回一个协程作业,这样你就可以使用这个引用在你的情况下手动取消它。编辑:
如果您的主管禁止您使用
Job
,您可以定义自己的上下文,并在以后取消它,就像上面一样。