Method

DexFutureawait

Declaration [src]

gboolean
dex_await (
  DexFuture* future
  GError** error
)

Description [src]

Suspends the current DexFiber and resumes when future has completed.

If future is completed when this function is called, the fiber will handle the result immediately.

This function may only be called within a DexFiber. To do otherwise will return FALSE and error set to DEX_ERROR_NO_FIBER.

It is an error to call this function in a way that would cause intermediate code to become invalid when resuming the stack. For example, if a foreach-style function taking a callback was to suspend from the callback, undefined behavior may occur such as thread-local-storage having changed.

Return value

Type: gboolean

TRUE if the future resolved, otherwise FALSE and error is set.