# CurrentAction

class `Util.``CurrentAction`()

  This class encapsulates execution of a single action at a time. You set the action to execute, which waits on the currently executing action and kills any pending ones.

  This class can be thought of as an `Action` queue that limits to 1 action running at a time, and if any new actions are pushed into it, the queue’s pending actions are cleared. (The actively running action will not get cancelled.)

  ## Index

  Constructors

  - `constructor`

  Methods

  - `clear`
  - `isIdle`
  - `set`
  - `waitForIdle`

## Constructors

`Util.CurrentAction.``constructor`()
  CurrentAction(suppressFailures: boolean): `CurrentAction`

  Creates a new `CurrentAction`.

  Parameters

  > suppressFailures: boolean

  > > Controls whether or not thrown action errors cause `waitForIdle` to throw.

  Returns: `CurrentAction`

## Methods

`Util.CurrentAction.``clear`()
  clear(): void

  Clears and discards any pending actions. If an action is currently being executed, it remains unaffected by this.

  Returns: void

`Util.CurrentAction.``isIdle`()
  isIdle(): boolean

  Queries the idle state of this object.

  Returns: boolean

  > `true` if there are no executing actions and `false` otherwise.

`Util.CurrentAction.``set`()
  set(action: `ActionLike`): void

  Sets the action to execute to the one supplied.

  If this object is idle, then the action is immediately executed, and this object is no longer as long as the action is running.

  Otherwise if the object is not idle, then action becomes pended and will execute after the current one finishes. If an action is already pended, then the prior pending action is replaced by the newly supplied action and is discarded.

  Parameters

  > action: `ActionLike`

  Returns: void

`Util.CurrentAction.``waitForIdle`()
  waitForIdle(): Promise

  Creates `Promise` that can be used to wait for this object to become idle.

  If this object was created with `suppressFailures`, then the returned `Promise` never throws. Otherwise action failures (from `this.set`) propagate to the returned `Promise`.

  Returns: Promise

  > The idle `Promise`.

Conversation saved
HOOPSY BETA

### Hello! I'm HOOPSY

Your Docs generative AI assistant. Ask me anything about HOOPS Visualize Web or choose a sample question below to start a conversation:

What is HOOPS Visualize Web?
What are the latest release notes for HOOPS Visualize Web?
How do I start evaluating HOOPS Visualize Web?
How do I write my first sample application?
How can I get assistance?

HOOPSY may store conversations according to OpenAI's policy. Responses may not always be accurate.

HOOPSY is thinking...