with Context
abstract fun <T> withContext(contextBuilder: CoroutineContext.() -> Unit, block: CoroutineScope.() -> T): Deferred<T>
切换协程的上下文,在新的上下文中执行指定的代码块,然后返回一个持有结果的 Deferred。
这是一个非阻塞操作。它常用于将 CPU 密集型或 I/O 密集型任务切换到合适的调度器上执行, 而不阻塞原始上下文(例如 UI 线程)。
Return
一个 Deferred
Parameters
T
代码块返回结果的类型。
context Builder
用于定义新上下文的 lambda。例如 it.setDispatcher { it.getIO() }。
block
在新上下文中执行的代码块。