Promise е в едно от следните състояния:

  • чака: първоначално състояние, нито изпълнено, нито отхвърлено.
  • изпълнено: което означава, че операцията е приключила успешно.
  • отхвърлено: което означава, че операцията е неуспешна.

Чакащо обещание може да бъде изпълнено със стойност или отхвърлено с причина (грешка). Когато се случи някоя от тези опции, се извикват свързаните манипулатори, поставени на опашка от метода then на обещание.