# Promise

Promise 对象表示异步操作最终的完成(或失败)以及其结果值。仅 HBuilderX 3.9+ 安卓平台支持。

# Constructor(fn)

创建一个新的 Promise 对象。该构造函数主要用于封装还没有添加 promise 支持的函数。

Parameters

name type required description
fn ( resolve: (value: T) => void, reject: (reason: any | null) => void ) => void YES 在构造函数中执行的 function。

Compatibility

Android version Android uni-app Android uni-app-x iOS version iOS uni-app iOS uni-app-x
5.0 3.9+ 9.0 x

# Constructor(fn)_1

创建一个新的 Promise 对象。该构造函数主要用于封装还没有添加 promise 支持的函数。

Parameters

name type required description
fn (resolve: (value: T) => void) => void YES 在构造函数中执行的 function。

Compatibility

Android version Android uni-app Android uni-app-x iOS version iOS uni-app iOS uni-app-x
5.0 3.9+ 9.0 x

# 实例方法

# then()

将一个兑现处理器和拒绝处理器附加到 Promise 上,并返回一个新的 Promise,解决为调用处理器得到的返回值,或者如果 Promise 没有被处理(即相关处理器 onFulfilled 或 onRejected 不是函数),则以原始敲定值解决。

Return value

Type
Promise<T>

Compatibility

Android version Android uni-app Android uni-app-x iOS version iOS uni-app iOS uni-app-x
5.0 3.9+ 9.0 x

# then(onFulfilled, onRejected?)_1

将一个兑现处理器和拒绝处理器附加到 Promise 上,并返回一个新的 Promise,解决为调用处理器得到的返回值,或者如果 Promise 没有被处理(即相关处理器 onFulfilled 或 onRejected 不是函数),则以原始敲定值解决。

Parameters

name type required description
onFulfilled () => R YES 一个在此 Promise 对象被兑现时异步执行的函数。它的返回值将成为 then() 返回的 Promise 对象的兑现值。
onRejected Function | null NO 一个在此 Promise 对象被拒绝时异步执行的函数。它的返回值将成为 catch() 返回的 Promise 对象的兑现值。

Return value

Type
Promise<R>

Compatibility

Android version Android uni-app Android uni-app-x iOS version iOS uni-app iOS uni-app-x
5.0 3.9+ 9.0 x

# then(onFulfilled, onRejected?)_2

将一个兑现处理器和拒绝处理器附加到 Promise 上,并返回一个新的 Promise,解决为调用处理器得到的返回值,或者如果 Promise 没有被处理(即相关处理器 onFulfilled 或 onRejected 不是函数),则以原始敲定值解决。

Parameters

name type required description
onFulfilled () => Promise<R> YES 一个在此 Promise 对象被兑现时异步执行的函数。它的返回值将成为 then() 返回的 Promise 对象的兑现值。
onRejected Function | null NO 一个在此 Promise 对象被拒绝时异步执行的函数。它的返回值将成为 catch() 返回的 Promise 对象的兑现值。

Return value

Type
Promise<R>

Compatibility

Android version Android uni-app Android uni-app-x iOS version iOS uni-app iOS uni-app-x
5.0 3.9+ 9.0 x

# then(onFulfilled, onRejected?)_3

将一个兑现处理器和拒绝处理器附加到 Promise 上,并返回一个新的 Promise,解决为调用处理器得到的返回值,或者如果 Promise 没有被处理(即相关处理器 onFulfilled 或 onRejected 不是函数),则以原始敲定值解决。

Parameters

name type required description
onFulfilled (res: T) => R YES 一个在此 Promise 对象被兑现时异步执行的函数。它的返回值将成为 then() 返回的 Promise 对象的兑现值。
onRejected Function | null NO 一个在此 Promise 对象被拒绝时异步执行的函数。它的返回值将成为 catch() 返回的 Promise 对象的兑现值。

Return value

Type
Promise<R>

Compatibility

Android version Android uni-app Android uni-app-x iOS version iOS uni-app iOS uni-app-x
5.0 3.9+ 9.0 x

# then(onFulfilled, onRejected?)_4

将一个兑现处理器和拒绝处理器附加到 Promise 上,并返回一个新的 Promise,解决为调用处理器得到的返回值,或者如果 Promise 没有被处理(即相关处理器 onFulfilled 或 onRejected 不是函数),则以原始敲定值解决。

Parameters

name type required description
onFulfilled (res: T) => Promise<R> YES 一个在此 Promise 对象被兑现时异步执行的函数。它的返回值将成为 then() 返回的 Promise 对象的兑现值。
onRejected Function | null NO 一个在此 Promise 对象被拒绝时异步执行的函数。它的返回值将成为 catch() 返回的 Promise 对象的兑现值。

Return value

Type
Promise<R>

Compatibility

Android version Android uni-app Android uni-app-x iOS version iOS uni-app iOS uni-app-x
5.0 3.9+ 9.0 x

# catch()

将一个拒绝处理回调函数附加到 Promise 上,并返回一个新的 Promise,如果回调被调用,则解决为回调的返回值,如果 Promise 被兑现,解决为其原始兑现值。

Return value

Type
Promise<T>

Compatibility

Android version Android uni-app Android uni-app-x iOS version iOS uni-app iOS uni-app-x
5.0 3.9+ 9.0 x

# catch(onRejected)_1

将一个拒绝处理回调函数附加到 Promise 上,并返回一个新的 Promise,如果回调被调用,则解决为回调的返回值,如果 Promise 被兑现,解决为其原始兑现值。

Parameters

name type required description
onRejected () => R YES 一个在此 Promise 对象被拒绝时异步执行的函数。它的返回值将成为 catch() 返回的 Promise 对象的兑现值。

Return value

Type
Promise<R>

Compatibility

Android version Android uni-app Android uni-app-x iOS version iOS uni-app iOS uni-app-x
5.0 3.9+ 9.0 x

# catch(onRejected)_2

将一个拒绝处理回调函数附加到 Promise 上,并返回一个新的 Promise,如果回调被调用,则解决为回调的返回值,如果 Promise 被兑现,解决为其原始兑现值。

Parameters

name type required description
onRejected () => Promise<R> YES 一个在此 Promise 对象被拒绝时异步执行的函数。它的返回值将成为 catch() 返回的 Promise 对象的兑现值。

Return value

Type
Promise<R>

Compatibility

Android version Android uni-app Android uni-app-x iOS version iOS uni-app iOS uni-app-x
5.0 3.9+ 9.0 x

# catch(onRejected)_3

将一个拒绝处理回调函数附加到 Promise 上,并返回一个新的 Promise,如果回调被调用,则解决为回调的返回值,如果 Promise 被兑现,解决为其原始兑现值。

Parameters

name type required description
onRejected (res: any | null) => R YES 一个在此 Promise 对象被拒绝时异步执行的函数。它的返回值将成为 catch() 返回的 Promise 对象的兑现值。

Return value

Type
Promise<R>

Compatibility

Android version Android uni-app Android uni-app-x iOS version iOS uni-app iOS uni-app-x
5.0 3.9+ 9.0 x

# catch(onRejected)_4

将一个拒绝处理回调函数附加到 Promise 上,并返回一个新的 Promise,如果回调被调用,则解决为回调的返回值,如果 Promise 被兑现,解决为其原始兑现值。

Parameters

name type required description
onRejected (res: any | null) => Promise<R> YES 一个在此 Promise 对象被拒绝时异步执行的函数。它的返回值将成为 catch() 返回的 Promise 对象的兑现值。

Return value

Type
Promise<R>

Compatibility

Android version Android uni-app Android uni-app-x iOS version iOS uni-app iOS uni-app-x
5.0 3.9+ 9.0 x

# finally(callback)

将一个处理器附加到 Promise 上,并返回一个新的 Promise,当原始 Promise 被解决时解决。无论 Promise 是否被兑现还是被拒绝,处理器都会在 Promise 敲定时被调用。

Parameters

name type required description
callback Function YES 一个当 promise 敲定时异步执行的函数。它的返回值将被忽略,除非返回一个被拒绝的 promise。调用该函数时不带任何参数。

Return value

Type
Promise<T>

Compatibility

Android version Android uni-app Android uni-app-x iOS version iOS uni-app iOS uni-app-x
5.0 3.9+ 9.0 x

# resolve()

返回一个新的 Promise 对象,该对象以给定的值兑现。

Return value

Type
Promise<void>

Compatibility

Android version Android uni-app Android uni-app-x iOS version iOS uni-app iOS uni-app-x
5.0 3.9+ 9.0 x

# resolve(value)_1

返回一个新的 Promise 对象,该对象以给定的值兑现。

Parameters

name type required description
value T | null YES 一个兑现的值。

Return value

Type
Promise<T>

Compatibility

Android version Android uni-app Android uni-app-x iOS version iOS uni-app iOS uni-app-x
5.0 3.9+ 9.0 x

# resolve(value)_2

返回一个新的 Promise 对象,该对象以给定的值兑现。

Parameters

name type required description
value Promise<T> | null YES 一个 Promise。

Return value

Type
Promise<T>

Compatibility

Android version Android uni-app Android uni-app-x iOS version iOS uni-app iOS uni-app-x
5.0 3.9+ 9.0 x

# reject(value?)

返回一个新的 Promise 对象,该对象以给定的原因拒绝。

Parameters

name type required description
value any | null NO 一个拒绝的原因。

Return value

Type
Promise<never>

Compatibility

Android version Android uni-app Android uni-app-x iOS version iOS uni-app iOS uni-app-x
5.0 3.9+ 9.0 x

# all(arr)

接受一个 Promise 可迭代对象作为输入,并返回单个 Promise。返回的 Promise 在所有输入的 Promise 都兑现时(包括传入的可迭代对象为空时)被兑现,其值为一个包含所有兑现值的数组。如果输入的任何 Promise 被拒绝,返回的 Promise 也会被拒绝,并返回第一个拒绝的原因。

Parameters

name type required description
arr Array<Promise<T>> YES 一个 Promise 数组。

Return value

Type
Promise<Array<T>>

Compatibility

Android version Android uni-app Android uni-app-x iOS version iOS uni-app iOS uni-app-x
5.0 3.9+ 9.0 x

# race(arr)

接受一个 Promise 可迭代对象作为输入,并返回单个 Promise。返回的 Promise 与第一个敲定的 Promise 的最终状态保持一致。

Parameters

name type required description
arr Array<Promise<T>> YES 一个 Promise 数组。

Return value

Type
Promise<T>

Compatibility

Android version Android uni-app Android uni-app-x iOS version iOS uni-app iOS uni-app-x
5.0 3.9+ 9.0 x

# any(arr)

接受一个 Promise 可迭代对象作为输入,并返回单个 Promise。返回的 Promise 在任何输入的 Promise 兑现时兑现,其值为第一个兑现的值。如果所有输入的 Promise 都被拒绝(包括传入的可迭代对象为空时),返回的 Promise 将以带有一个包含拒绝原因的数组的 AggregateError 拒绝。

Parameters

name type required description
arr Array<Promise<T>> YES 一个 Promise 数组。

Return value

Type
Promise<T>

Compatibility

Android version Android uni-app Android uni-app-x iOS version iOS uni-app iOS uni-app-x
5.0 3.9+ 9.0 x

# allSettled(arr)

接受一个 Promise 可迭代对象作为输入,并返回单个 Promise。返回的 Promise 在所有输入的 Promise 都敲定时兑现(包括传入的可迭代对象为空时),其值为一个描述每个 Promise 结果的对象数组。

Parameters

name type required description
arr Array<Promise<T>> YES 一个 Promise 数组。

Return value

Type
Promise<Array<PromiseSettledResult<T>>>

Compatibility

Android version Android uni-app Android uni-app-x iOS version iOS uni-app iOS uni-app-x
5.0 3.9+ 9.0 x

# # See also

Related Bug

# Bug & Tips

  • 目前 Promise 类型编译到 kotlin 为 io.dcloud.uts.UTSPromise