withTimeoutOrNull

abstract fun <T> withTimeoutOrNull(timeoutMillis: Long, block: CoroutineScope.() -> T): Deferred<T?>

在指定的超时时间内运行代码块。如果超时,返回的 Deferred 将成功地持有一个 null 值,而不是抛出异常。

这是一个非阻塞函数,它会立即返回一个 Deferred 对象。

Return

一个 Deferred 对象。如果代码块在超时前完成,它将持有结果;如果超时,结果将为 null

Parameters

T

代码块返回结果的类型。

timeoutMillis

超时时间(毫秒)。

block

要在超时限制内执行的代码块。