# Class: PromiseController

## PromiseController

Provides bindable properties for the state of a promise

## Constructor

#### new PromiseController()

A promise does not have bindable properties. This controller tracks the state of a promise with bindable properties so you can create a substitution that binds the viewed component with the state of the promise. - "pending" with "progress" when in the pending state, bind the substituted component to the progress value, which is null when indeterminate or a 0-1 value when determinate. Most promises are indeterminate due to the complexities of composing progress information into meaningful data. - "fulfilled" with "value" when in the fulfilled state, bind the substituted component to the value. - "rejected" with "error" when in the rejected state, bind the substituted component to the given error, if you can surface that error to the user. - "state" (one of "pending", "fulfilled", or "rejected") suitable for substitutions that will always render an indeterminate progress in the "pending" state. - "progressState" (one of "determinate", "indeterminate", "fuilfilled", "rejected") suitable for substitutions that provide alternative view for determinate and indeterminate progress.

Source:
  - core/promise-controller.js, line 5