Managing coroutine timeouts
In this section, you will learn about timeouts and how you can cancel your coroutines with a timeout. Setting a fixed amount of time after which to stop asynchronous code that is running longer than expected can help you save resources and immediately notify users of any issues.
When your application is doing a background task, you may want to stop it because it is taking too long. You can manually track the time and cancel the task. Or you can use the withTimeout
suspending function. With the withTimeout
function, you can set your timeout in milliseconds or Duration
. Once this timeout is exceeded, it will throw TimeOutCancellationException
, a subclass of CancellationException
. Here’s an example of how you can use withTimeout
:
class MovieViewModel: ViewModel() {
init {
viewModelScope.launch {
...