API Docs for: 3.10.3
Show:

Promise.Resolver Class

Module: promise

Represents an asynchronous operation. Provides a standard API for subscribing to the moment that the operation completes either successfully (fulfill()) or unsuccessfully (reject()).

Constructor

Promise.Resolver

(
  • promise
)

Parameters:

  • promise Promise

    The promise instance this resolver will be handling

Methods

_notify

(
  • subs
  • result
)
protected

Executes an array of callbacks from a specified context, passing a set of arguments.

Parameters:

  • subs Function[]

    The array of subscriber callbacks

  • result Any

    Value to pass the callbacks

_wrap

(
  • thenFulfill
  • thenReject
  • fn
)
Function private

Wraps the callback in Y.soon to guarantee its asynchronous execution. It also catches exceptions to turn them into rejections and links promises returned from the then callback.

Parameters:

  • thenFulfill Function

    Fulfillment function of the resolver that handles this promise

  • thenReject Function

    Rejection function of the resolver that handles this promise

  • fn Function

    Callback to wrap

Returns:

fulfill

(
  • value
)

Resolves the promise, signaling successful completion of the represented operation. All "onFulfilled" subscriptions are executed and passed the value provided to this method. After calling fulfill(), reject() and notify() are disabled.

Parameters:

  • value Any

    Value to pass along to the "onFulfilled" subscribers

getStatus

() String

Returns the current status of the Resolver as a string "pending", "fulfilled", or "rejected".

Returns:

reject

(
  • value
)

Resolves the promise, signaling unsuccessful completion of the represented operation. All "onRejected" subscriptions are executed with the value provided to this method. After calling reject(), resolve() and notify() are disabled.

Parameters:

  • value Any

    Value to pass along to the "reject" subscribers

then

(
  • [callback]
  • [errback]
)
Promise

Schedule execution of a callback to either or both of "resolve" and "reject" resolutions for the Resolver. The callbacks are wrapped in a new Resolver and that Resolver's corresponding promise is returned. This allows operation chaining ala functionA().then(functionB).then(functionC) where functionA returns a promise, and functionB and functionC may return promises.

Parameters:

  • [callback] Function optional

    function to execute if the Resolver resolves successfully

  • [errback] Function optional

    function to execute if the Resolver resolves unsuccessfully

Returns:

Promise: The promise of a new Resolver wrapping the resolution of either "resolve" or "reject" callback

Properties

_callbacks

Array private

List of success callbacks

_errbacks

Array private

List of failure callbacks

_status

String private

The status of the operation. This property may take only one of the following values: 'pending', 'fulfilled' or 'rejected'.

Default: 'pending'

promise

Promise

The promise for this Resolver.