Async

expect class Async<out T>(source)

内含异步处理操作的类。

Async 类主要用于处理和管理异步操作。 为用户提供一种简洁有效的异步操作手段,使用户能够更方便地创建、取消、获取异步操作的完成状态以及处理各类异步操作可能出现的异常情况。

Async 实例在创建时会生成一个异步任务,用户可以通过 onErroronCancellationonCompletion 等方法添加处理器, 用于处理异步操作过程中发生的错误、被取消和正常完成这些情况。 同时,Async 还提供了 isActiveisCompletedisCancelled 等方法,让用户可以查询异步操作的状态, 并提供了 cancel 方法以取消异步操作。

Async 作为 expect class, 在不同的平台上有着不同的实现:

  • 在 JVM 平台上,Async 可以转换为 java.util.concurrent.CompletableFuture

  • 在 JS 平台上,Async 可以转换为 kotlin.js.Promise

actual class Async<out T>(source)

Async 类在 JS 平台的具体实现。

为了帮助在 JS 平台上的异步操作,Async 提供了方法 asPromise 来获取 Promise 表示的异步操作。

See also

actual class Async<out T>(source)

Async 在 JVM 平台的具体实现。

为了帮助在 JVM 平台上的异步操作,Async 增加了方法 asFuture 来获取 CompletableFuture 表示的异步操作。

See also

actual class Async<out T>(source)

Async 类在 native 平台的具体实现。

See also

actual class Async<out T>(source)

Async 类在 JS 平台的具体实现。

为了帮助在 JS 平台上的异步操作,Async 提供了方法 asPromise 来获取 Promise 表示的异步操作。

See also

Properties

Link copied to clipboard
expect val deferred: Deferred<T>

内包含的异步操作。

actual val deferred: Deferred<T>
actual val deferred: Deferred<T>
actual val deferred: Deferred<T>
actual val deferred: Deferred<T>
Link copied to clipboard
expect val isActive: Boolean

操作是否正在进行。

actual val isActive: Boolean

操作是否正在进行。

actual val isActive: Boolean

操作是否正在进行。

actual val isActive: Boolean

操作是否正在进行。

actual val isActive: Boolean

操作是否正在进行。

Link copied to clipboard
expect val isCancelled: Boolean

操作是否已被取消。

actual val isCancelled: Boolean

操作是否已被取消。

actual val isCancelled: Boolean

操作是否已被取消。

actual val isCancelled: Boolean

操作是否已被取消。

actual val isCancelled: Boolean

操作是否已被取消。

Link copied to clipboard
expect val isCompleted: Boolean

操作是否已完成。

actual val isCompleted: Boolean

操作是否已完成。

actual val isCompleted: Boolean

操作是否已完成。

actual val isCompleted: Boolean

操作是否已完成。

actual val isCompleted: Boolean

操作是否已完成。

Inherited properties

Link copied to clipboard

获取一个表示此 Async 任务 await 操作的 SelectClause1

Link copied to clipboard

获取一个表示此 Async 任务 join 操作的 SelectClause0

Functions

Link copied to clipboard

转换 Async 对象为 CompletableFuture

Link copied to clipboard

Async 对象转换为 Promise

Async 对象转换为 Promise

Link copied to clipboard
expect fun cancel()

取消异步操作的执行。

actual fun cancel()

取消异步操作的执行。

actual fun cancel()

取消异步操作的执行。

actual fun cancel()

取消异步操作的执行。

actual fun cancel()

取消异步操作的执行。

Link copied to clipboard
expect fun cancelBy(cause: CancellationException?)

以给定的原因取消异步操作的执行。

Link copied to clipboard
expect fun handle(handler: Action<Throwable?>): DisposableHandle

设置异步处理函数。

actual fun handle(handler: Action<Throwable?>): DisposableHandle

设置异步处理函数。

actual fun handle(handler: Action<Throwable?>): DisposableHandle

设置异步处理函数。

actual fun handle(handler: Action<Throwable?>): DisposableHandle

设置异步处理函数。

actual fun handle(handler: Action<Throwable?>): DisposableHandle

设置异步处理函数。

Link copied to clipboard

当取消执行时的处理函数。

Link copied to clipboard

当完成执行时的处理函数。

当完成执行时的处理函数。

当完成执行时的处理函数。

当完成执行时的处理函数。

当完成执行时的处理函数。

Link copied to clipboard
expect fun onError(handler: Action<Throwable>): DisposableHandle

当发生错误时的处理函数。

actual fun onError(handler: Action<Throwable>): DisposableHandle

当发生错误时的处理函数。

actual fun onError(handler: Action<Throwable>): DisposableHandle

当发生错误时的处理函数。

actual fun onError(handler: Action<Throwable>): DisposableHandle

当发生错误时的处理函数。

actual fun onError(handler: Action<Throwable>): DisposableHandle

当发生错误时的处理函数。

Inherited functions

Link copied to clipboard
suspend fun <T> Async<T>.await(): T

在协程中等待此 Async 任务完成,并返回它的结果(如果任务成功完成)或抛出异步抛出的异常(如果任务失败)。 此函数会挂起协程直到任务完成。

Link copied to clipboard
fun <T> Async<T>.cancelBy(message: String? = null, cause: Throwable?)

取消此 Async 任务,特别是将在任务中抛出一个 CancellationException 以终结任务。 如果 messagecause 指定了,则它们将被用于创建 CancellationException

Link copied to clipboard
suspend fun Async<*>.join()

在协程中等待此 Async 任务完成。 此函数挂起协程直到任务完成,但不获取任务结果,也不处理任务失败时的异常。