# deferred.state()

## deferred.state ( ) Returns: String version added: 1.7

Description: Determine the current state of a Deferred object.

The deferred.state() method returns a string representing the current state of the Deferred object. The Deferred object can be in one of three states:

- "pending": The Deferred object is not yet in a completed state (neither "rejected" nor "resolved").
- "resolved": The Deferred object is in the resolved state, meaning that either `deferred.resolve()` or `deferred.resolveWith()` has been called for the object and the doneCallbacks have been called (or are in the process of being called).
- "rejected": The Deferred object is in the rejected state, meaning that either `deferred.reject()` or `deferred.rejectWith()` has been called for the object and the failCallbacks have been called (or are in the process of being called).

This method is primarily useful for debugging to determine, for example, whether a Deferred has already been resolved even though you are inside code that intended to reject it.