PromiseBase::Then (open)

Schedule functions to run when this promise is resolved or rejected

Syntax

LOADLIB "wh::promise.whlib";

OBJECT FUNCTION Then(FUNCTION PTR then, FUNCTION PTR onerror)

Parameters

FUNCTION PTR then

Function to run when the promise is resolved. Allowed signatures:

  • MACRO resolve()
  • VARIANT FUNCTION resolve()
  • MACRO resolve(VARIANT value)
  • VARIANT FUNCTION resolve(VARIANT value) If a parameter is present, it will be set to the value this promise was resolved with. If a value is returned, the returned promise is resolved to that value, otherwise the returned promise is resolved to DEFAULT RECORD. If an exception is thrown, the returned exception is rejected with that exception
FUNCTION PTR onerror

Function to run when the promise is resolved. Allowed signatures:

  • MACRO reject()
  • VARIANT FUNCTION reject()
  • MACRO reject(OBJECT exception)
  • VARIANT FUNCTION reject(OBJECT exception) If a parameter is present, it will be set to the exception object this promise was rejected with. If a value is returned, the returned promise is resolved to that value, otherwise the returned promise is resolved to DEFAULT RECORD. If an exception is thrown, the returned exception is rejected with that exception

Return value

OBJECT

Promise that will be resolved by the returned value of the then/onerror functions. If the relevant function is not set, the returned promise copy the state of this promise.