# Interface Promise<TR, TJ, TN>

This object provides a subset of the methods of the Deferred object (then, done, fail, always, pipe, progress, state and promise) to prevent users from changing the state of the Deferred.

#### See

`<a href="https://api.jquery.com/Types/#Promise">https://api.jquery.com/Types/#Promise</a>`

interface Promise< TR , TJ = any, TN = any> {
always (
alwaysCallback: TypeOrArray <
CallbackBase < TR | TJ , TR | TJ , TR | TJ , TR | TJ >,
>,
...alwaysCallbacks: TypeOrArray <
CallbackBase < TR | TJ , TR | TJ , TR | TJ , TR | TJ >,
>[],
): this;
catch <
ARF = never,
AJF = never,
ANF = never,
BRF = never,
BJF = never,
BNF = never,
CRF = never,
CJF = never,
CNF = never,
RRF = never,
RJF = never,
RNF = never,
>(
failFilter?:
| null
| (
(
t: TJ ,
u: TJ ,
v: TJ ,
...s: TJ [],
) =>
| ARF
| PromiseBase <
ARF ,
AJF ,
ANF ,
BRF ,
BJF ,
BNF ,
CRF ,
CJF ,
CNF ,
RRF ,
RJF ,
RNF ,
>
| Thenable < ARF >
),
): PromiseBase < ARF , AJF , ANF , BRF , BJF , BNF , CRF , CJF , CNF , RRF , RJF , RNF >;
done (
doneCallback: TypeOrArray < CallbackBase < TR , TR , TR , TR >>,
...doneCallbacks: TypeOrArray < CallbackBase < TR , TR , TR , TR >>[],
): this;
fail (
failCallback: TypeOrArray < CallbackBase < TJ , TJ , TJ , TJ >>,
...failCallbacks: TypeOrArray < CallbackBase < TJ , TJ , TJ , TJ >>[],
): this;
pipe <
ARD = never,
AJD = never,
AND = never,
BRD = never,
BJD = never,
BND = never,
CRD = never,
CJD = never,
CND = never,
RRD = never,
RJD = never,
RND = never,
ARF = never,
AJF = never,
ANF = never,
BRF = never,
BJF = never,
BNF = never,
CRF = never,
CJF = never,
CNF = never,
RRF = never,
RJF = never,
RNF = never,
ARP = never,
AJP = never,
ANP = never,
BRP = never,
BJP = never,
BNP = never,
CRP = never,
CJP = never,
CNP = never,
RRP = never,
RJP = never,
RNP = never,
>(
doneFilter: (
t: TR ,
u: TR ,
v: TR ,
...s: TR [],
) =>
| ARD
| PromiseBase < ARD , AJD , AND , BRD , BJD , BND , CRD , CJD , CND , RRD , RJD , RND >
| Thenable < ARD >,
failFilter: (
t: TJ ,
u: TJ ,
v: TJ ,
...s: TJ [],
) =>
| AJF
| PromiseBase < ARF , AJF , ANF , BRF , BJF , BNF , CRF , CJF , CNF , RRF , RJF , RNF >
| Thenable < AJF >,
progressFilter: (
t: TN ,
u: TN ,
v: TN ,
...s: TN [],
) =>
| ANP
| PromiseBase < ARP , AJP , ANP , BRP , BJP , BNP , CRP , CJP , CNP , RRP , RJP , RNP >
| Thenable < ANP >,
): PromiseBase <
ARD
| ARF
| ARP ,
AJD | AJF | AJP ,
AND | ANF | ANP ,
BRD | BRF | BRP ,
BJD | BJF | BJP ,
BND | BNF | BNP ,
CRD | CRF | CRP ,
CJD | CJF | CJP ,
CND | CNF | CNP ,
RRD | RRF | RRP ,
RJD | RJF | RJP ,
RND | RNF | RNP ,
>;
pipe <
ARF = never,
AJF = never,
ANF = never,
BRF = never,
BJF = never,
BNF = never,
CRF = never,
CJF = never,
CNF = never,
RRF = never,
RJF = never,
RNF = never,
ARP = never,
AJP = never,
ANP = never,
BRP = never,
BJP = never,
BNP = never,
CRP = never,
CJP = never,
CNP = never,
RRP = never,
RJP = never,
RNP = never,
>(
doneFilter: null,
failFilter: (
t: TJ ,
u: TJ ,
v: TJ ,
...s: TJ [],
) =>
| AJF
| PromiseBase < ARF , AJF , ANF , BRF , BJF , BNF , CRF , CJF , CNF , RRF , RJF , RNF >
| Thenable < AJF >,
progressFilter: (
t: TN ,
u: TN ,
v: TN ,
...s: TN [],
) =>
| ANP
| PromiseBase < ARP , AJP , ANP , BRP , BJP , BNP , CRP , CJP , CNP , RRP , RJP , RNP >
| Thenable < ANP >,
): PromiseBase <
ARF
| ARP ,
AJF | AJP ,
ANF | ANP ,
BRF | BRP ,
BJF | BJP ,
BNF | BNP ,
CRF | CRP ,
CJF | CJP ,
CNF | CNP ,
RRF | RRP ,
RJF | RJP ,
RNF | RNP ,
>;
pipe <
ARD = never,
AJD = never,
AND = never,
BRD = never,
BJD = never,
BND = never,
CRD = never,
CJD = never,
CND = never,
RRD = never,
RJD = never,
RND = never,
ARP = never,
AJP = never,
ANP = never,
BRP = never,
BJP = never,
BNP = never,
CRP = never,
CJP = never,
CNP = never,
RRP = never,
RJP = never,
RNP = never,
>(
doneFilter: (
t: TR ,
u: TR ,
v: TR ,
...s: TR [],
) =>
| ARD
| PromiseBase < ARD , AJD , AND , BRD , BJD , BND , CRD , CJD , CND , RRD , RJD , RND >
| Thenable < ARD >,
failFilter: null,
progressFilter: (
t: TN ,
u: TN ,
v: TN ,
...s: TN [],
) =>
| ANP
| PromiseBase < ARP , AJP , ANP , BRP , BJP , BNP , CRP , CJP , CNP , RRP , RJP , RNP >
| Thenable < ANP >,
): PromiseBase <
ARD
| ARP ,
AJD | AJP ,
AND | ANP ,
BRD | BRP ,
BJD | BJP ,
BND | BNP ,
CRD | CRP ,
CJD | CJP ,
CND | CNP ,
RRD | RRP ,
RJD | RJP ,
RND | RNP ,
>;
pipe <
ARP = never,
AJP = never,
ANP = never,
BRP = never,
BJP = never,
BNP = never,
CRP = never,
CJP = never,
CNP = never,
RRP = never,
RJP = never,
RNP = never,
>(
doneFilter: null,
failFilter: null,
progressFilter?: (
t: TN ,
u: TN ,
v: TN ,
...s: TN [],
) =>
| ANP
| PromiseBase < ARP , AJP , ANP , BRP , BJP , BNP , CRP , CJP , CNP , RRP , RJP , RNP >
| Thenable < ANP >,
): PromiseBase < ARP , AJP , ANP , BRP , BJP , BNP , CRP , CJP , CNP , RRP , RJP , RNP >;
pipe <
ARD = never,
AJD = never,
AND = never,
BRD = never,
BJD = never,
BND = never,
CRD = never,
CJD = never,
CND = never,
RRD = never,
RJD = never,
RND = never,
ARF = never,
AJF = never,
ANF = never,
BRF = never,
BJF = never,
BNF = never,
CRF = never,
CJF = never,
CNF = never,
RRF = never,
RJF = never,
RNF = never,
>(
doneFilter: (
t: TR ,
u: TR ,
v: TR ,
...s: TR [],
) =>
| ARD
| PromiseBase < ARD , AJD , AND , BRD , BJD , BND , CRD , CJD , CND , RRD , RJD , RND >
| Thenable < ARD >,
failFilter: (
t: TJ ,
u: TJ ,
v: TJ ,
...s: TJ [],
) =>
| AJF
| PromiseBase < ARF , AJF , ANF , BRF , BJF , BNF , CRF , CJF , CNF , RRF , RJF , RNF >
| Thenable < AJF >,
progressFilter?: null,
): PromiseBase <
ARD
| ARF ,
AJD | AJF ,
AND | ANF ,
BRD | BRF ,
BJD | BJF ,
BND | BNF ,
CRD | CRF ,
CJD | CJF ,
CND | CNF ,
RRD | RRF ,
RJD | RJF ,
RND | RNF ,
>;
pipe <
ARF = never,
AJF = never,
ANF = never,
BRF = never,
BJF = never,
BNF = never,
CRF = never,
CJF = never,
CNF = never,
RRF = never,
RJF = never,
RNF = never,
>(
doneFilter: null,
failFilter: (
t: TJ ,
u: TJ ,
v: TJ ,
...s: TJ [],
) =>
| AJF
| PromiseBase < ARF , AJF , ANF , BRF , BJF , BNF , CRF , CJF , CNF , RRF , RJF , RNF >
| Thenable < AJF >,
progressFilter?: null,
): PromiseBase < ARF , AJF , ANF , BRF , BJF , BNF , CRF , CJF , CNF , RRF , RJF , RNF >;
pipe <
ARD = never,
AJD = never,
AND = never,
BRD = never,
BJD = never,
BND = never,
CRD = never,
CJD = never,
CND = never,
RRD = never,
RJD = never,
RND = never,
>(
doneFilter: (
t: TR ,
u: TR ,
v: TR ,
...s: TR [],
) =>
| ARD
| PromiseBase < ARD , AJD , AND , BRD , BJD , BND , CRD , CJD , CND , RRD , RJD , RND >
| Thenable < ARD >,
failFilter?: null,
progressFilter?: null,
): PromiseBase < ARD , AJD , AND , BRD , BJD , BND , CRD , CJD , CND , RRD , RJD , RND >;
progress (
progressCallback: TypeOrArray < CallbackBase < TN , TN , TN , TN >>,
...progressCallbacks: TypeOrArray < CallbackBase < TN , TN , TN , TN >>[],
): this;
promise < TTarget extends object>(
target: TTarget ,
): Promise < TR , TJ , TN > & TTarget ;
promise (): this;
state (): "pending" | "resolved" | "rejected";
then <
ARD = never,
AJD = never,
AND = never,
BRD = never,
BJD = never,
BND = never,
CRD = never,
CJD = never,
CND = never,
RRD = never,
RJD = never,
RND = never,
ARF = never,
AJF = never,
ANF = never,
BRF = never,
BJF = never,
BNF = never,
CRF = never,
CJF = never,
CNF = never,
RRF = never,
RJF = never,
RNF = never,
ARP = never,
AJP = never,
ANP = never,
BRP = never,
BJP = never,
BNP = never,
CRP = never,
CJP = never,
CNP = never,
RRP = never,
RJP = never,
RNP = never,
>(
doneFilter: (
t: TR ,
u: TR ,
v: TR ,
...s: TR [],
) =>
| ARD
| PromiseBase < ARD , AJD , AND , BRD , BJD , BND , CRD , CJD , CND , RRD , RJD , RND >
| Thenable < ARD >,
failFilter: (
t: TJ ,
u: TJ ,
v: TJ ,
...s: TJ [],
) =>
| ARF
| PromiseBase < ARF , AJF , ANF , BRF , BJF , BNF , CRF , CJF , CNF , RRF , RJF , RNF >
| Thenable < ARF >,
progressFilter: (
t: TN ,
u: TN ,
v: TN ,
...s: TN [],
) =>
| ANP
| PromiseBase < ARP , AJP , ANP , BRP , BJP , BNP , CRP , CJP , CNP , RRP , RJP , RNP >
| Thenable < ANP >,
): PromiseBase <
ARD
| ARF
| ARP ,
AJD | AJF | AJP ,
AND | ANF | ANP ,
BRD | BRF | BRP ,
BJD | BJF | BJP ,
BND | BNF | BNP ,
CRD | CRF | CRP ,
CJD | CJF | CJP ,
CND | CNF | CNP ,
RRD | RRF | RRP ,
RJD | RJF | RJP ,
RND | RNF | RNP ,
>;
then <
ARF = never,
AJF = never,
ANF = never,
BRF = never,
BJF = never,
BNF = never,
CRF = never,
CJF = never,
CNF = never,
RRF = never,
RJF = never,
RNF = never,
ARP = never,
AJP = never,
ANP = never,
BRP = never,
BJP = never,
BNP = never,
CRP = never,
CJP = never,
CNP = never,
RRP = never,
RJP = never,
RNP = never,
>(
doneFilter: null,
failFilter: (
t: TJ ,
u: TJ ,
v: TJ ,
...s: TJ [],
) =>
| ARF
| PromiseBase < ARF , AJF , ANF , BRF , BJF , BNF , CRF , CJF , CNF , RRF , RJF , RNF >
| Thenable < ARF >,
progressFilter: (
t: TN ,
u: TN ,
v: TN ,
...s: TN [],
) =>
| ANP
| PromiseBase < ARP , AJP , ANP , BRP , BJP , BNP , CRP , CJP , CNP , RRP , RJP , RNP >
| Thenable < ANP >,
): PromiseBase <
ARF
| ARP ,
AJF | AJP ,
ANF | ANP ,
BRF | BRP ,
BJF | BJP ,
BNF | BNP ,
CRF | CRP ,
CJF | CJP ,
CNF | CNP ,
RRF | RRP ,
RJF | RJP ,
RNF | RNP ,
>;
then <
ARD = never,
AJD = never,
AND = never,
BRD = never,
BJD = never,
BND = never,
CRD = never,
CJD = never,
CND = never,
RRD = never,
RJD = never,
RND = never,
ARP = never,
AJP = never,
ANP = never,
BRP = never,
BJP = never,
BNP = never,
CRP = never,
CJP = never,
CNP = never,
RRP = never,
RJP = never,
RNP = never,
>(
doneFilter: (
t: TR ,
u: TR ,
v: TR ,
...s: TR [],
) =>
| ARD
| PromiseBase < ARD , AJD , AND , BRD , BJD , BND , CRD , CJD , CND , RRD , RJD , RND >
| Thenable < ARD >,
failFilter: null,
progressFilter: (
t: TN ,
u: TN ,
v: TN ,
...s: TN [],
) =>
| ANP
| PromiseBase < ARP , AJP , ANP , BRP , BJP , BNP , CRP , CJP , CNP , RRP , RJP , RNP >
| Thenable < ANP >,
): PromiseBase <
ARD
| ARP ,
AJD | AJP ,
AND | ANP ,
BRD | BRP ,
BJD | BJP ,
BND | BNP ,
CRD | CRP ,
CJD | CJP ,
CND | CNP ,
RRD | RRP ,
RJD | RJP ,
RND | RNP ,
>;
then <
ARP = never,
AJP = never,
ANP = never,
BRP = never,
BJP = never,
BNP = never,
CRP = never,
CJP = never,
CNP = never,
RRP = never,
RJP = never,
RNP = never,
>(
doneFilter: null,
failFilter: null,
progressFilter?: (
t: TN ,
u: TN ,
v: TN ,
...s: TN [],
) =>
| ANP
| PromiseBase < ARP , AJP , ANP , BRP , BJP , BNP , CRP , CJP , CNP , RRP , RJP , RNP >
| Thenable < ANP >,
): PromiseBase < ARP , AJP , ANP , BRP , BJP , BNP , CRP , CJP , CNP , RRP , RJP , RNP >;
then <
ARD = never,
AJD = never,
AND = never,
BRD = never,
BJD = never,
BND = never,
CRD = never,
CJD = never,
CND = never,
RRD = never,
RJD = never,
RND = never,
ARF = never,
AJF = never,
ANF = never,
BRF = never,
BJF = never,
BNF = never,
CRF = never,
CJF = never,
CNF = never,
RRF = never,
RJF = never,
RNF = never,
>(
doneFilter: (
t: TR ,
u: TR ,
v: TR ,
...s: TR [],
) =>
| ARD
| PromiseBase < ARD , AJD , AND , BRD , BJD , BND , CRD , CJD , CND , RRD , RJD , RND >
| Thenable < ARD >,
failFilter: (
t: TJ ,
u: TJ ,
v: TJ ,
...s: TJ [],
) =>
| ARF
| PromiseBase < ARF , AJF , ANF , BRF , BJF , BNF , CRF , CJF , CNF , RRF , RJF , RNF >
| Thenable < ARF >,
progressFilter?: null,
): PromiseBase <
ARD
| ARF ,
AJD | AJF ,
AND | ANF ,
BRD | BRF ,
BJD | BJF ,
BND | BNF ,
CRD | CRF ,
CJD | CJF ,
CND | CNF ,
RRD | RRF ,
RJD | RJF ,
RND | RNF ,
>;
then <
ARF = never,
AJF = never,
ANF = never,
BRF = never,
BJF = never,
BNF = never,
CRF = never,
CJF = never,
CNF = never,
RRF = never,
RJF = never,
RNF = never,
>(
doneFilter: null,
failFilter: (
t: TJ ,
u: TJ ,
v: TJ ,
...s: TJ [],
) =>
| ARF
| PromiseBase < ARF , AJF , ANF , BRF , BJF , BNF , CRF , CJF , CNF , RRF , RJF , RNF >
| Thenable < ARF >,
progressFilter?: null,
): PromiseBase < ARF , AJF , ANF , BRF , BJF , BNF , CRF , CJF , CNF , RRF , RJF , RNF >;
then <
ARD = never,
AJD = never,
AND = never,
BRD = never,
BJD = never,
BND = never,
CRD = never,
CJD = never,
CND = never,
RRD = never,
RJD = never,
RND = never,
>(
doneFilter: (
t: TR ,
u: TR ,
v: TR ,
...s: TR [],
) =>
| ARD
| PromiseBase < ARD , AJD , AND , BRD , BJD , BND , CRD , CJD , CND , RRD , RJD , RND >
| Thenable < ARD >,
failFilter?: null,
progressFilter?: null,
): PromiseBase < ARD , AJD , AND , BRD , BJD , BND , CRD , CJD , CND , RRD , RJD , RND >;
}

#### Type Parameters

- TR
- TJ = any
- TN = any

#### Hierarchy (View Summary)

- PromiseBase < TR , TJ , TN , TR , TJ , TN , TR , TJ , TN , TR , TJ , TN >
  - Promise
    - JQueryPromise

- Defined in node_modules/@types/jquery/misc.d.ts:2695

##### Index

### Methods

always
catch
done
fail
pipe
progress
promise
state
then

## Methods

### always

- always(
  alwaysCallback: TypeOrArray <
  CallbackBase < TR | TJ , TR | TJ , TR | TJ , TR | TJ >,
  >,
  ...alwaysCallbacks: TypeOrArray <
  CallbackBase < TR | TJ , TR | TJ , TR | TJ , TR | TJ >,
  >[],
  ): this

  Add handlers to be called when the Deferred object is either resolved or rejected.

  #### Parameters

  - alwaysCallback: TypeOrArray < CallbackBase < TR | TJ , TR | TJ , TR | TJ , TR | TJ >>

    A function, or array of functions, that is called when the Deferred is resolved or rejected.

  - ...alwaysCallbacks: TypeOrArray < CallbackBase < TR | TJ , TR | TJ , TR | TJ , TR | TJ >>[]

    Optional additional functions, or arrays of functions, that are called when the Deferred is resolved or rejected.

  #### Returns this

  #### See

  `<a href="https://api.jquery.com/deferred.always/">https://api.jquery.com/deferred.always/</a>`

  #### Since

  1.6

  #### Example: ​ ````Since the jQuery.get() method returns a jqXHR object, which is derived from a Deferred object, we can attach a callback for both success and error using the deferred.always() method.

      $.get( "test.php" ).always(function() {
      alert( "$.get completed with success or error callback arguments" );
      });

  Inherited from PromiseBase.always

  - Defined in node_modules/@types/jquery/misc.d.ts:1239

### catch

- catch<
  ARF = never,
  AJF = never,
  ANF = never,
  BRF = never,
  BJF = never,
  BNF = never,
  CRF = never,
  CJF = never,
  CNF = never,
  RRF = never,
  RJF = never,
  RNF = never,
  >(
  failFilter?:
  | null
  | (
  (
  t: TJ ,
  u: TJ ,
  v: TJ ,
  ...s: TJ [],
  ) =>
  | ARF
  | PromiseBase <
  ARF ,
  AJF ,
  ANF ,
  BRF ,
  BJF ,
  BNF ,
  CRF ,
  CJF ,
  CNF ,
  RRF ,
  RJF ,
  RNF ,
  >
  | Thenable < ARF >
  ),
  ): PromiseBase < ARF , AJF , ANF , BRF , BJF , BNF , CRF , CJF , CNF , RRF , RJF , RNF >

  Add handlers to be called when the Deferred object is rejected.

  #### Type Parameters

  - ARF = never
  - AJF = never
  - ANF = never
  - BRF = never
  - BJF = never
  - BNF = never
  - CRF = never
  - CJF = never
  - CNF = never
  - RRF = never
  - RJF = never
  - RNF = never

  #### Parameters

  - `Optional` failFilter:
    | null
    | (
    (
    t: TJ ,
    u: TJ ,
    v: TJ ,
    ...s: TJ [],
    ) =>
    | ARF
    | PromiseBase < ARF , AJF , ANF , BRF , BJF , BNF , CRF , CJF , CNF , RRF , RJF , RNF >
    | Thenable < ARF >
    )

    A function that is called when the Deferred is rejected.

  #### Returns PromiseBase < ARF , AJF , ANF , BRF , BJF , BNF , CRF , CJF , CNF , RRF , RJF , RNF >

  #### See

  `<a href="https://api.jquery.com/deferred.catch/">https://api.jquery.com/deferred.catch/</a>`

  #### Since

  3.0

  #### Example: ​ ````Since the jQuery.get method returns a jqXHR object, which is derived from a Deferred object, we can rejection handlers using the .catch method.

      $.get( "test.php" )
      .then( function() {
      alert( "$.get succeeded" );
      } )
      .catch( function() {
      alert( "$.get failed!" );
      } );

  Inherited from PromiseBase.catch

  - Defined in node_modules/@types/jquery/misc.d.ts:2650

### done

- done(
  doneCallback: TypeOrArray < CallbackBase < TR , TR , TR , TR >>,
  ...doneCallbacks: TypeOrArray < CallbackBase < TR , TR , TR , TR >>[],
  ): this

  Add handlers to be called when the Deferred object is resolved.

  #### Parameters

  - doneCallback: TypeOrArray < CallbackBase < TR , TR , TR , TR >>

    A function, or array of functions, that are called when the Deferred is resolved.

  - ...doneCallbacks: TypeOrArray < CallbackBase < TR , TR , TR , TR >>[]

    Optional additional functions, or arrays of functions, that are called when the Deferred is resolved.

  #### Returns this

  #### See

  `<a href="https://api.jquery.com/deferred.done/">https://api.jquery.com/deferred.done/</a>`

  #### Since

  1.5

  #### Example: ​ ````Since the jQuery.get method returns a jqXHR object, which is derived from a Deferred object, we can attach a success callback using the .done() method. ```javascript $.get( "test.php" ).done(function() { alert( "$.get succeeded" ); }); ``` @example ​ ````Resolve a Deferred object when the user clicks a button, triggering a number of callback functions:

      <!doctype html>
      <html lang="en">
      <head>
      <meta charset="utf-8">
      <title>deferred.done demo</title>
      <script src="https://code.jquery.com/jquery-3.3.1.js"></script>
      </head>
      <body>
      ​
      <button>Go</button>
      <p>Ready...</p>
      ​
      <script>
      // 3 functions to call when the Deferred object is resolved
      function fn1() {
      $( "p" ).append( " 1 " );
      }
      function fn2() {
      $( "p" ).append( " 2 " );
      }
      function fn3( n ) {
      $( "p" ).append( n + " 3 " + n );
      }
      ​
      // Create a deferred object
      var dfd = $.Deferred();
      ​
      // Add handlers to be called when dfd is resolved
      dfd
      // .done() can take any number of functions or arrays of functions
      .done( [ fn1, fn2 ], fn3, [ fn2, fn1 ] )
      // We can chain done methods, too
      .done(function( n ) {
      $( "p" ).append( n + " we're done." );
      });
      ​
      // Resolve the Deferred object when the button is clicked
      $( "button" ).on( "click", function() {
      dfd.resolve( "and" );
      });
      </script>
      ​
      </body>
      </html>

  Inherited from PromiseBase.done

  - Defined in node_modules/@types/jquery/misc.d.ts:1303

### fail

- fail(
  failCallback: TypeOrArray < CallbackBase < TJ , TJ , TJ , TJ >>,
  ...failCallbacks: TypeOrArray < CallbackBase < TJ , TJ , TJ , TJ >>[],
  ): this

  Add handlers to be called when the Deferred object is rejected.

  #### Parameters

  - failCallback: TypeOrArray < CallbackBase < TJ , TJ , TJ , TJ >>

    A function, or array of functions, that are called when the Deferred is rejected.

  - ...failCallbacks: TypeOrArray < CallbackBase < TJ , TJ , TJ , TJ >>[]

    Optional additional functions, or arrays of functions, that are called when the Deferred is rejected.

  #### Returns this

  #### See

  `<a href="https://api.jquery.com/deferred.fail/">https://api.jquery.com/deferred.fail/</a>`

  #### Since

  1.5

  #### Example: ​ ````Since the jQuery.get method returns a jqXHR object, which is derived from a Deferred, you can attach a success and failure callback using the deferred.done() and deferred.fail() methods.

      $.get( "test.php" )
      .done(function() {
      alert( "$.get succeeded" );
      })
      .fail(function() {
      alert( "$.get failed!" );
      });

  Inherited from PromiseBase.fail

  - Defined in node_modules/@types/jquery/misc.d.ts:1324

### pipe

- pipe<
  ARD = never,
  AJD = never,
  AND = never,
  BRD = never,
  BJD = never,
  BND = never,
  CRD = never,
  CJD = never,
  CND = never,
  RRD = never,
  RJD = never,
  RND = never,
  ARF = never,
  AJF = never,
  ANF = never,
  BRF = never,
  BJF = never,
  BNF = never,
  CRF = never,
  CJF = never,
  CNF = never,
  RRF = never,
  RJF = never,
  RNF = never,
  ARP = never,
  AJP = never,
  ANP = never,
  BRP = never,
  BJP = never,
  BNP = never,
  CRP = never,
  CJP = never,
  CNP = never,
  RRP = never,
  RJP = never,
  RNP = never,
  >(
  doneFilter: (
  t: TR ,
  u: TR ,
  v: TR ,
  ...s: TR [],
  ) =>
  | ARD
  | PromiseBase < ARD , AJD , AND , BRD , BJD , BND , CRD , CJD , CND , RRD , RJD , RND >
  | Thenable < ARD >,
  failFilter: (
  t: TJ ,
  u: TJ ,
  v: TJ ,
  ...s: TJ [],
  ) =>
  | AJF
  | PromiseBase < ARF , AJF , ANF , BRF , BJF , BNF , CRF , CJF , CNF , RRF , RJF , RNF >
  | Thenable < AJF >,
  progressFilter: (
  t: TN ,
  u: TN ,
  v: TN ,
  ...s: TN [],
  ) =>
  | ANP
  | PromiseBase < ARP , AJP , ANP , BRP , BJP , BNP , CRP , CJP , CNP , RRP , RJP , RNP >
  | Thenable < ANP >,
  ): PromiseBase <
  ARD
  | ARF
  | ARP ,
  AJD | AJF | AJP ,
  AND | ANF | ANP ,
  BRD | BRF | BRP ,
  BJD | BJF | BJP ,
  BND | BNF | BNP ,
  CRD | CRF | CRP ,
  CJD | CJF | CJP ,
  CND | CNF | CNP ,
  RRD | RRF | RRP ,
  RJD | RJF | RJP ,
  RND | RNF | RNP ,
  >

  Utility method to filter and/or chain Deferreds.

  #### Type Parameters

  - ARD = never
  - AJD = never
  - AND = never
  - BRD = never
  - BJD = never
  - BND = never
  - CRD = never
  - CJD = never
  - CND = never
  - RRD = never
  - RJD = never
  - RND = never
  - ARF = never
  - AJF = never
  - ANF = never
  - BRF = never
  - BJF = never
  - BNF = never
  - CRF = never
  - CJF = never
  - CNF = never
  - RRF = never
  - RJF = never
  - RNF = never
  - ARP = never
  - AJP = never
  - ANP = never
  - BRP = never
  - BJP = never
  - BNP = never
  - CRP = never
  - CJP = never
  - CNP = never
  - RRP = never
  - RJP = never
  - RNP = never

  #### Parameters

  - doneFilter: (
    t: TR ,
    u: TR ,
    v: TR ,
    ...s: TR [],
    ) =>
    | ARD
    | PromiseBase < ARD , AJD , AND , BRD , BJD , BND , CRD , CJD , CND , RRD , RJD , RND >
    | Thenable < ARD >

    An optional function that is called when the Deferred is resolved.

  - failFilter: (
    t: TJ ,
    u: TJ ,
    v: TJ ,
    ...s: TJ [],
    ) =>
    | AJF
    | PromiseBase < ARF , AJF , ANF , BRF , BJF , BNF , CRF , CJF , CNF , RRF , RJF , RNF >
    | Thenable < AJF >

    An optional function that is called when the Deferred is rejected.

  - progressFilter: (
    t: TN ,
    u: TN ,
    v: TN ,
    ...s: TN [],
    ) =>
    | ANP
    | PromiseBase < ARP , AJP , ANP , BRP , BJP , BNP , CRP , CJP , CNP , RRP , RJP , RNP >
    | Thenable < ANP >

    An optional function that is called when progress notifications are sent to the Deferred.

  #### Returns PromiseBase <
  ARD
  | ARF
  | ARP ,
  AJD | AJF | AJP ,
  AND | ANF | ANP ,
  BRD | BRF | BRP ,
  BJD | BJF | BJP ,
  BND | BNF | BNP ,
  CRD | CRF | CRP ,
  CJD | CJF | CJP ,
  CND | CNF | CNP ,
  RRD | RRF | RRP ,
  RJD | RJF | RJP ,
  RND | RNF | RNP ,
  >

  #### See

  `<a href="https://api.jquery.com/deferred.pipe/">https://api.jquery.com/deferred.pipe/</a>`

  #### Since

  1.6

  #### Since

  1.7

  #### Deprecated

  ​ Deprecated since 1.8. Use `<a href="#then" class="tsd-kind-method">then</a>`.

  Cause: The `.pipe()` method on a `jQuery.Deferred` object was deprecated as of jQuery 1.8, when the `.then()` method was changed to perform the same function.

  Solution: In most cases it is sufficient to change all occurrences of `.pipe()` to `.then()`. Ensure that you aren't relying on context/state propagation (e.g., using `this`) or synchronous callback invocation, which were dropped from `.then()` for Promises/A+ interoperability as of jQuery 3.0.

  #### Example: ​ ````Filter resolve value: ```javascript var defer = $.Deferred(), filtered = defer.pipe(function( value ) { return value * 2; }); ​ defer.resolve( 5 ); filtered.done(function( value ) { alert( "Value is ( 2*5 = ) 10: " + value ); }); ``` @example ​ ````Filter reject value:

      var defer = $.Deferred(),
      filtered = defer.pipe( null, function( value ) {
      return value * 3;
      });
      ​
      defer.reject( 6 );
      filtered.fail(function( value ) {
      alert( "Value is ( 3*6 = ) 18: " + value );
      });

  #### Example: ​ ````Chain tasks:

      var request = $.ajax( url, { dataType: "json" } ),
      chained = request.pipe(function( data ) {
      return $.ajax( url2, { data: { user: data.userId } } );
      });
      ​
      chained.done(function( data ) {
      // data retrieved from url2 as provided by the first request
      });

  Inherited from PromiseBase.pipe

  - Defined in node_modules/@types/jquery/misc.d.ts:1474
- pipe<
  ARF = never,
  AJF = never,
  ANF = never,
  BRF = never,
  BJF = never,
  BNF = never,
  CRF = never,
  CJF = never,
  CNF = never,
  RRF = never,
  RJF = never,
  RNF = never,
  ARP = never,
  AJP = never,
  ANP = never,
  BRP = never,
  BJP = never,
  BNP = never,
  CRP = never,
  CJP = never,
  CNP = never,
  RRP = never,
  RJP = never,
  RNP = never,
  >(
  doneFilter: null,
  failFilter: (
  t: TJ ,
  u: TJ ,
  v: TJ ,
  ...s: TJ [],
  ) =>
  | AJF
  | PromiseBase < ARF , AJF , ANF , BRF , BJF , BNF , CRF , CJF , CNF , RRF , RJF , RNF >
  | Thenable < AJF >,
  progressFilter: (
  t: TN ,
  u: TN ,
  v: TN ,
  ...s: TN [],
  ) =>
  | ANP
  | PromiseBase < ARP , AJP , ANP , BRP , BJP , BNP , CRP , CJP , CNP , RRP , RJP , RNP >
  | Thenable < ANP >,
  ): PromiseBase <
  ARF
  | ARP ,
  AJF | AJP ,
  ANF | ANP ,
  BRF | BRP ,
  BJF | BJP ,
  BNF | BNP ,
  CRF | CRP ,
  CJF | CJP ,
  CNF | CNP ,
  RRF | RRP ,
  RJF | RJP ,
  RNF | RNP ,
  >

  Utility method to filter and/or chain Deferreds.

  #### Type Parameters

  - ARF = never
  - AJF = never
  - ANF = never
  - BRF = never
  - BJF = never
  - BNF = never
  - CRF = never
  - CJF = never
  - CNF = never
  - RRF = never
  - RJF = never
  - RNF = never
  - ARP = never
  - AJP = never
  - ANP = never
  - BRP = never
  - BJP = never
  - BNP = never
  - CRP = never
  - CJP = never
  - CNP = never
  - RRP = never
  - RJP = never
  - RNP = never

  #### Parameters

  - doneFilter: null

    An optional function that is called when the Deferred is resolved.

  - failFilter: (
    t: TJ ,
    u: TJ ,
    v: TJ ,
    ...s: TJ [],
    ) =>
    | AJF
    | PromiseBase < ARF , AJF , ANF , BRF , BJF , BNF , CRF , CJF , CNF , RRF , RJF , RNF >
    | Thenable < AJF >

    An optional function that is called when the Deferred is rejected.

  - progressFilter: (
    t: TN ,
    u: TN ,
    v: TN ,
    ...s: TN [],
    ) =>
    | ANP
    | PromiseBase < ARP , AJP , ANP , BRP , BJP , BNP , CRP , CJP , CNP , RRP , RJP , RNP >
    | Thenable < ANP >

    An optional function that is called when progress notifications are sent to the Deferred.

  #### Returns PromiseBase <
  ARF
  | ARP ,
  AJF | AJP ,
  ANF | ANP ,
  BRF | BRP ,
  BJF | BJP ,
  BNF | BNP ,
  CRF | CRP ,
  CJF | CJP ,
  CNF | CNP ,
  RRF | RRP ,
  RJF | RJP ,
  RNF | RNP ,
  >

  #### See

  `<a href="https://api.jquery.com/deferred.pipe/">https://api.jquery.com/deferred.pipe/</a>`

  #### Since

  1.6

  #### Since

  1.7

  #### Deprecated

  ​ Deprecated since 1.8. Use `<a href="#then" class="tsd-kind-method">then</a>`.

  Cause: The `.pipe()` method on a `jQuery.Deferred` object was deprecated as of jQuery 1.8, when the `.then()` method was changed to perform the same function.

  Solution: In most cases it is sufficient to change all occurrences of `.pipe()` to `.then()`. Ensure that you aren't relying on context/state propagation (e.g., using `this`) or synchronous callback invocation, which were dropped from `.then()` for Promises/A+ interoperability as of jQuery 3.0.

  #### Example: ​ ````Filter reject value: ```javascript var defer = $.Deferred(), filtered = defer.pipe( null, function( value ) { return value * 3; }); ​ defer.reject( 6 ); filtered.fail(function( value ) { alert( "Value is ( 3*6 = ) 18: " + value ); }); ``` @example ​ ````Chain tasks:

      var request = $.ajax( url, { dataType: "json" } ),
      chained = request.pipe(function( data ) {
      return $.ajax( url2, { data: { user: data.userId } } );
      });
      ​
      chained.done(function( data ) {
      // data retrieved from url2 as provided by the first request
      });

  Inherited from PromiseBase.pipe

  - Defined in node_modules/@types/jquery/misc.d.ts:1581
- pipe<
  ARD = never,
  AJD = never,
  AND = never,
  BRD = never,
  BJD = never,
  BND = never,
  CRD = never,
  CJD = never,
  CND = never,
  RRD = never,
  RJD = never,
  RND = never,
  ARP = never,
  AJP = never,
  ANP = never,
  BRP = never,
  BJP = never,
  BNP = never,
  CRP = never,
  CJP = never,
  CNP = never,
  RRP = never,
  RJP = never,
  RNP = never,
  >(
  doneFilter: (
  t: TR ,
  u: TR ,
  v: TR ,
  ...s: TR [],
  ) =>
  | ARD
  | PromiseBase < ARD , AJD , AND , BRD , BJD , BND , CRD , CJD , CND , RRD , RJD , RND >
  | Thenable < ARD >,
  failFilter: null,
  progressFilter: (
  t: TN ,
  u: TN ,
  v: TN ,
  ...s: TN [],
  ) =>
  | ANP
  | PromiseBase < ARP , AJP , ANP , BRP , BJP , BNP , CRP , CJP , CNP , RRP , RJP , RNP >
  | Thenable < ANP >,
  ): PromiseBase <
  ARD
  | ARP ,
  AJD | AJP ,
  AND | ANP ,
  BRD | BRP ,
  BJD | BJP ,
  BND | BNP ,
  CRD | CRP ,
  CJD | CJP ,
  CND | CNP ,
  RRD | RRP ,
  RJD | RJP ,
  RND | RNP ,
  >

  Utility method to filter and/or chain Deferreds.

  #### Type Parameters

  - ARD = never
  - AJD = never
  - AND = never
  - BRD = never
  - BJD = never
  - BND = never
  - CRD = never
  - CJD = never
  - CND = never
  - RRD = never
  - RJD = never
  - RND = never
  - ARP = never
  - AJP = never
  - ANP = never
  - BRP = never
  - BJP = never
  - BNP = never
  - CRP = never
  - CJP = never
  - CNP = never
  - RRP = never
  - RJP = never
  - RNP = never

  #### Parameters

  - doneFilter: (
    t: TR ,
    u: TR ,
    v: TR ,
    ...s: TR [],
    ) =>
    | ARD
    | PromiseBase < ARD , AJD , AND , BRD , BJD , BND , CRD , CJD , CND , RRD , RJD , RND >
    | Thenable < ARD >

    An optional function that is called when the Deferred is resolved.

  - failFilter: null

    An optional function that is called when the Deferred is rejected.

  - progressFilter: (
    t: TN ,
    u: TN ,
    v: TN ,
    ...s: TN [],
    ) =>
    | ANP
    | PromiseBase < ARP , AJP , ANP , BRP , BJP , BNP , CRP , CJP , CNP , RRP , RJP , RNP >
    | Thenable < ANP >

    An optional function that is called when progress notifications are sent to the Deferred.

  #### Returns PromiseBase <
  ARD
  | ARP ,
  AJD | AJP ,
  AND | ANP ,
  BRD | BRP ,
  BJD | BJP ,
  BND | BNP ,
  CRD | CRP ,
  CJD | CJP ,
  CND | CNP ,
  RRD | RRP ,
  RJD | RJP ,
  RND | RNP ,
  >

  #### See

  `<a href="https://api.jquery.com/deferred.pipe/">https://api.jquery.com/deferred.pipe/</a>`

  #### Since

  1.6

  #### Since

  1.7

  #### Deprecated

  ​ Deprecated since 1.8. Use `<a href="#then" class="tsd-kind-method">then</a>`.

  Cause: The `.pipe()` method on a `jQuery.Deferred` object was deprecated as of jQuery 1.8, when the `.then()` method was changed to perform the same function.

  Solution: In most cases it is sufficient to change all occurrences of `.pipe()` to `.then()`. Ensure that you aren't relying on context/state propagation (e.g., using `this`) or synchronous callback invocation, which were dropped from `.then()` for Promises/A+ interoperability as of jQuery 3.0.

  #### Example: ​ ````Filter resolve value: ```javascript var defer = $.Deferred(), filtered = defer.pipe(function( value ) { return value * 2; }); ​ defer.resolve( 5 ); filtered.done(function( value ) { alert( "Value is ( 2*5 = ) 10: " + value ); }); ``` @example ​ ````Chain tasks:

      var request = $.ajax( url, { dataType: "json" } ),
      chained = request.pipe(function( data ) {
      return $.ajax( url2, { data: { user: data.userId } } );
      });
      ​
      chained.done(function( data ) {
      // data retrieved from url2 as provided by the first request
      });

  Inherited from PromiseBase.pipe

  - Defined in node_modules/@types/jquery/misc.d.ts:1671
- pipe<
  ARP = never,
  AJP = never,
  ANP = never,
  BRP = never,
  BJP = never,
  BNP = never,
  CRP = never,
  CJP = never,
  CNP = never,
  RRP = never,
  RJP = never,
  RNP = never,
  >(
  doneFilter: null,
  failFilter: null,
  progressFilter?: (
  t: TN ,
  u: TN ,
  v: TN ,
  ...s: TN [],
  ) =>
  | ANP
  | PromiseBase < ARP , AJP , ANP , BRP , BJP , BNP , CRP , CJP , CNP , RRP , RJP , RNP >
  | Thenable < ANP >,
  ): PromiseBase < ARP , AJP , ANP , BRP , BJP , BNP , CRP , CJP , CNP , RRP , RJP , RNP >

  Utility method to filter and/or chain Deferreds.

  #### Type Parameters

  - ARP = never
  - AJP = never
  - ANP = never
  - BRP = never
  - BJP = never
  - BNP = never
  - CRP = never
  - CJP = never
  - CNP = never
  - RRP = never
  - RJP = never
  - RNP = never

  #### Parameters

  - doneFilter: null

    An optional function that is called when the Deferred is resolved.

  - failFilter: null

    An optional function that is called when the Deferred is rejected.

  - `Optional` progressFilter: (
    t: TN ,
    u: TN ,
    v: TN ,
    ...s: TN [],
    ) =>
    | ANP
    | PromiseBase < ARP , AJP , ANP , BRP , BJP , BNP , CRP , CJP , CNP , RRP , RJP , RNP >
    | Thenable < ANP >

    An optional function that is called when progress notifications are sent to the Deferred.

  #### Returns PromiseBase < ARP , AJP , ANP , BRP , BJP , BNP , CRP , CJP , CNP , RRP , RJP , RNP >

  #### See

  `<a href="https://api.jquery.com/deferred.pipe/">https://api.jquery.com/deferred.pipe/</a>`

  #### Since

  1.6

  #### Since

  1.7

  #### Deprecated

  ​ Deprecated since 1.8. Use `<a href="#then" class="tsd-kind-method">then</a>`.

  Cause: The `.pipe()` method on a `jQuery.Deferred` object was deprecated as of jQuery 1.8, when the `.then()` method was changed to perform the same function.

  Solution: In most cases it is sufficient to change all occurrences of `.pipe()` to `.then()`. Ensure that you aren't relying on context/state propagation (e.g., using `this`) or synchronous callback invocation, which were dropped from `.then()` for Promises/A+ interoperability as of jQuery 3.0.

  #### Example: ​ ````Chain tasks:

      var request = $.ajax( url, { dataType: "json" } ),
      chained = request.pipe(function( data ) {
      return $.ajax( url2, { data: { user: data.userId } } );
      });
      ​
      chained.done(function( data ) {
      // data retrieved from url2 as provided by the first request
      });

  Inherited from PromiseBase.pipe

  - Defined in node_modules/@types/jquery/misc.d.ts:1749
- pipe<
  ARD = never,
  AJD = never,
  AND = never,
  BRD = never,
  BJD = never,
  BND = never,
  CRD = never,
  CJD = never,
  CND = never,
  RRD = never,
  RJD = never,
  RND = never,
  ARF = never,
  AJF = never,
  ANF = never,
  BRF = never,
  BJF = never,
  BNF = never,
  CRF = never,
  CJF = never,
  CNF = never,
  RRF = never,
  RJF = never,
  RNF = never,
  >(
  doneFilter: (
  t: TR ,
  u: TR ,
  v: TR ,
  ...s: TR [],
  ) =>
  | ARD
  | PromiseBase < ARD , AJD , AND , BRD , BJD , BND , CRD , CJD , CND , RRD , RJD , RND >
  | Thenable < ARD >,
  failFilter: (
  t: TJ ,
  u: TJ ,
  v: TJ ,
  ...s: TJ [],
  ) =>
  | AJF
  | PromiseBase < ARF , AJF , ANF , BRF , BJF , BNF , CRF , CJF , CNF , RRF , RJF , RNF >
  | Thenable < AJF >,
  progressFilter?: null,
  ): PromiseBase <
  ARD
  | ARF ,
  AJD | AJF ,
  AND | ANF ,
  BRD | BRF ,
  BJD | BJF ,
  BND | BNF ,
  CRD | CRF ,
  CJD | CJF ,
  CND | CNF ,
  RRD | RRF ,
  RJD | RJF ,
  RND | RNF ,
  >

  Utility method to filter and/or chain Deferreds.

  #### Type Parameters

  - ARD = never
  - AJD = never
  - AND = never
  - BRD = never
  - BJD = never
  - BND = never
  - CRD = never
  - CJD = never
  - CND = never
  - RRD = never
  - RJD = never
  - RND = never
  - ARF = never
  - AJF = never
  - ANF = never
  - BRF = never
  - BJF = never
  - BNF = never
  - CRF = never
  - CJF = never
  - CNF = never
  - RRF = never
  - RJF = never
  - RNF = never

  #### Parameters

  - doneFilter: (
    t: TR ,
    u: TR ,
    v: TR ,
    ...s: TR [],
    ) =>
    | ARD
    | PromiseBase < ARD , AJD , AND , BRD , BJD , BND , CRD , CJD , CND , RRD , RJD , RND >
    | Thenable < ARD >

    An optional function that is called when the Deferred is resolved.

  - failFilter: (
    t: TJ ,
    u: TJ ,
    v: TJ ,
    ...s: TJ [],
    ) =>
    | AJF
    | PromiseBase < ARF , AJF , ANF , BRF , BJF , BNF , CRF , CJF , CNF , RRF , RJF , RNF >
    | Thenable < AJF >

    An optional function that is called when the Deferred is rejected.

  - `Optional` progressFilter: null

    An optional function that is called when progress notifications are sent to the Deferred.

  #### Returns PromiseBase <
  ARD
  | ARF ,
  AJD | AJF ,
  AND | ANF ,
  BRD | BRF ,
  BJD | BJF ,
  BND | BNF ,
  CRD | CRF ,
  CJD | CJF ,
  CND | CNF ,
  RRD | RRF ,
  RJD | RJF ,
  RND | RNF ,
  >

  #### See

  `<a href="https://api.jquery.com/deferred.pipe/">https://api.jquery.com/deferred.pipe/</a>`

  #### Since

  1.6

  #### Since

  1.7

  #### Deprecated

  ​ Deprecated since 1.8. Use `<a href="#then" class="tsd-kind-method">then</a>`.

  Cause: The `.pipe()` method on a `jQuery.Deferred` object was deprecated as of jQuery 1.8, when the `.then()` method was changed to perform the same function.

  Solution: In most cases it is sufficient to change all occurrences of `.pipe()` to `.then()`. Ensure that you aren't relying on context/state propagation (e.g., using `this`) or synchronous callback invocation, which were dropped from `.then()` for Promises/A+ interoperability as of jQuery 3.0.

  #### Example: ​ ````Filter resolve value: ```javascript var defer = $.Deferred(), filtered = defer.pipe(function( value ) { return value * 2; }); ​ defer.resolve( 5 ); filtered.done(function( value ) { alert( "Value is ( 2*5 = ) 10: " + value ); }); ``` @example ​ ````Filter reject value:

      var defer = $.Deferred(),
      filtered = defer.pipe( null, function( value ) {
      return value * 3;
      });
      ​
      defer.reject( 6 );
      filtered.fail(function( value ) {
      alert( "Value is ( 3*6 = ) 18: " + value );
      });

  #### Example: ​ ````Chain tasks:

      var request = $.ajax( url, { dataType: "json" } ),
      chained = request.pipe(function( data ) {
      return $.ajax( url2, { data: { user: data.userId } } );
      });
      ​
      chained.done(function( data ) {
      // data retrieved from url2 as provided by the first request
      });

  Inherited from PromiseBase.pipe

  - Defined in node_modules/@types/jquery/misc.d.ts:1821
- pipe<
  ARF = never,
  AJF = never,
  ANF = never,
  BRF = never,
  BJF = never,
  BNF = never,
  CRF = never,
  CJF = never,
  CNF = never,
  RRF = never,
  RJF = never,
  RNF = never,
  >(
  doneFilter: null,
  failFilter: (
  t: TJ ,
  u: TJ ,
  v: TJ ,
  ...s: TJ [],
  ) =>
  | AJF
  | PromiseBase < ARF , AJF , ANF , BRF , BJF , BNF , CRF , CJF , CNF , RRF , RJF , RNF >
  | Thenable < AJF >,
  progressFilter?: null,
  ): PromiseBase < ARF , AJF , ANF , BRF , BJF , BNF , CRF , CJF , CNF , RRF , RJF , RNF >

  Utility method to filter and/or chain Deferreds.

  #### Type Parameters

  - ARF = never
  - AJF = never
  - ANF = never
  - BRF = never
  - BJF = never
  - BNF = never
  - CRF = never
  - CJF = never
  - CNF = never
  - RRF = never
  - RJF = never
  - RNF = never

  #### Parameters

  - doneFilter: null

    An optional function that is called when the Deferred is resolved.

  - failFilter: (
    t: TJ ,
    u: TJ ,
    v: TJ ,
    ...s: TJ [],
    ) =>
    | AJF
    | PromiseBase < ARF , AJF , ANF , BRF , BJF , BNF , CRF , CJF , CNF , RRF , RJF , RNF >
    | Thenable < AJF >

    An optional function that is called when the Deferred is rejected.

  - `Optional` progressFilter: null

    An optional function that is called when progress notifications are sent to the Deferred.

  #### Returns PromiseBase < ARF , AJF , ANF , BRF , BJF , BNF , CRF , CJF , CNF , RRF , RJF , RNF >

  #### See

  `<a href="https://api.jquery.com/deferred.pipe/">https://api.jquery.com/deferred.pipe/</a>`

  #### Since

  1.6

  #### Since

  1.7

  #### Deprecated

  ​ Deprecated since 1.8. Use `<a href="#then" class="tsd-kind-method">then</a>`.

  Cause: The `.pipe()` method on a `jQuery.Deferred` object was deprecated as of jQuery 1.8, when the `.then()` method was changed to perform the same function.

  Solution: In most cases it is sufficient to change all occurrences of `.pipe()` to `.then()`. Ensure that you aren't relying on context/state propagation (e.g., using `this`) or synchronous callback invocation, which were dropped from `.then()` for Promises/A+ interoperability as of jQuery 3.0.

  #### Example: ​ ````Filter reject value: ```javascript var defer = $.Deferred(), filtered = defer.pipe( null, function( value ) { return value * 3; }); ​ defer.reject( 6 ); filtered.fail(function( value ) { alert( "Value is ( 3*6 = ) 18: " + value ); }); ``` @example ​ ````Chain tasks:

      var request = $.ajax( url, { dataType: "json" } ),
      chained = request.pipe(function( data ) {
      return $.ajax( url2, { data: { user: data.userId } } );
      });
      ​
      chained.done(function( data ) {
      // data retrieved from url2 as provided by the first request
      });

  Inherited from PromiseBase.pipe

  - Defined in node_modules/@types/jquery/misc.d.ts:1911
- pipe<
  ARD = never,
  AJD = never,
  AND = never,
  BRD = never,
  BJD = never,
  BND = never,
  CRD = never,
  CJD = never,
  CND = never,
  RRD = never,
  RJD = never,
  RND = never,
  >(
  doneFilter: (
  t: TR ,
  u: TR ,
  v: TR ,
  ...s: TR [],
  ) =>
  | ARD
  | PromiseBase < ARD , AJD , AND , BRD , BJD , BND , CRD , CJD , CND , RRD , RJD , RND >
  | Thenable < ARD >,
  failFilter?: null,
  progressFilter?: null,
  ): PromiseBase < ARD , AJD , AND , BRD , BJD , BND , CRD , CJD , CND , RRD , RJD , RND >

  Utility method to filter and/or chain Deferreds.

  #### Type Parameters

  - ARD = never
  - AJD = never
  - AND = never
  - BRD = never
  - BJD = never
  - BND = never
  - CRD = never
  - CJD = never
  - CND = never
  - RRD = never
  - RJD = never
  - RND = never

  #### Parameters

  - doneFilter: (
    t: TR ,
    u: TR ,
    v: TR ,
    ...s: TR [],
    ) =>
    | ARD
    | PromiseBase < ARD , AJD , AND , BRD , BJD , BND , CRD , CJD , CND , RRD , RJD , RND >
    | Thenable < ARD >

    An optional function that is called when the Deferred is resolved.

  - `Optional` failFilter: null

    An optional function that is called when the Deferred is rejected.

  - `Optional` progressFilter: null

    An optional function that is called when progress notifications are sent to the Deferred.

  #### Returns PromiseBase < ARD , AJD , AND , BRD , BJD , BND , CRD , CJD , CND , RRD , RJD , RND >

  #### See

  `<a href="https://api.jquery.com/deferred.pipe/">https://api.jquery.com/deferred.pipe/</a>`

  #### Since

  1.6

  #### Since

  1.7

  #### Deprecated

  ​ Deprecated since 1.8. Use `<a href="#then" class="tsd-kind-method">then</a>`.

  Cause: The `.pipe()` method on a `jQuery.Deferred` object was deprecated as of jQuery 1.8, when the `.then()` method was changed to perform the same function.

  Solution: In most cases it is sufficient to change all occurrences of `.pipe()` to `.then()`. Ensure that you aren't relying on context/state propagation (e.g., using `this`) or synchronous callback invocation, which were dropped from `.then()` for Promises/A+ interoperability as of jQuery 3.0.

  #### Example: ​ ````Filter resolve value: ```javascript var defer = $.Deferred(), filtered = defer.pipe(function( value ) { return value * 2; }); ​ defer.resolve( 5 ); filtered.done(function( value ) { alert( "Value is ( 2*5 = ) 10: " + value ); }); ``` @example ​ ````Chain tasks:

      var request = $.ajax( url, { dataType: "json" } ),
      chained = request.pipe(function( data ) {
      return $.ajax( url2, { data: { user: data.userId } } );
      });
      ​
      chained.done(function( data ) {
      // data retrieved from url2 as provided by the first request
      });

  Inherited from PromiseBase.pipe

  - Defined in node_modules/@types/jquery/misc.d.ts:1971

### progress

- progress(
  progressCallback: TypeOrArray < CallbackBase < TN , TN , TN , TN >>,
  ...progressCallbacks: TypeOrArray < CallbackBase < TN , TN , TN , TN >>[],
  ): this

  Add handlers to be called when the Deferred object generates progress notifications.

  #### Parameters

  - progressCallback: TypeOrArray < CallbackBase < TN , TN , TN , TN >>

    A function, or array of functions, to be called when the Deferred generates progress notifications.

  - ...progressCallbacks: TypeOrArray < CallbackBase < TN , TN , TN , TN >>[]

    Optional additional functions, or arrays of functions, to be called when the Deferred generates progress notifications.

  #### Returns this

  #### See

  `<a href="https://api.jquery.com/deferred.progress/">https://api.jquery.com/deferred.progress/</a>`

  #### Since

  1.7

  Inherited from PromiseBase.progress

  - Defined in node_modules/@types/jquery/misc.d.ts:1336

### promise

- promise< TTarget extends object>(target: TTarget ): Promise < TR , TJ , TN > & TTarget

  Return a Deferred's Promise object.

  #### Type Parameters

  - TTarget extends object

  #### Parameters

  - target: TTarget

    Object onto which the promise methods have to be attached

  #### Returns Promise < TR , TJ , TN > & TTarget

  #### See

  `<a href="https://api.jquery.com/deferred.promise/">https://api.jquery.com/deferred.promise/</a>`

  #### Since

  1.5

  #### Example: ​ ````Create a Deferred and set two timer-based functions to either resolve or reject the Deferred after a random interval. Whichever one fires first &quot;wins&quot; and will call one of the callbacks. The second timeout has no effect since the Deferred is already complete (in a resolved or rejected state) from the first timeout action. Also set a timer-based progress notification function, and call a progress handler that adds &quot;working...&quot; to the document body.

      function asyncEvent() {
      var dfd = jQuery.Deferred();
      ​
      // Resolve after a random interval
      setTimeout(function() {
      dfd.resolve( "hurray" );
      }, Math.floor( 400 + Math.random() * 2000 ) );
      ​
      // Reject after a random interval
      setTimeout(function() {
      dfd.reject( "sorry" );
      }, Math.floor( 400 + Math.random() * 2000 ) );
      ​
      // Show a "working..." message every half-second
      setTimeout(function working() {
      if ( dfd.state() === "pending" ) {
      dfd.notify( "working... " );
      setTimeout( working, 500 );
      }
      }, 1 );
      ​
      // Return the Promise so caller can't change the Deferred
      return dfd.promise();
      }
      ​
      // Attach a done, fail, and progress handler for the asyncEvent
      $.when( asyncEvent() ).then(
      function( status ) {
      alert( status + ", things are going well" );
      },
      function( status ) {
      alert( status + ", you fail this time" );
      },
      function( status ) {
      $( "body" ).append( status );
      }
      );

  Inherited from PromiseBase.promise

  - Defined in node_modules/@types/jquery/misc.d.ts:1386
- promise(): this

  Return a Deferred's Promise object.

  #### Returns this

  #### See

  `<a href="https://api.jquery.com/deferred.promise/">https://api.jquery.com/deferred.promise/</a>`

  #### Since

  1.5

  #### Example: ​ ````Use the target argument to promote an existing object to a Promise:

      // Existing object
      var obj = {
      hello: function( name ) {
      alert( "Hello " + name );
      }
      },
      // Create a Deferred
      defer = $.Deferred();
      ​
      // Set object as a promise
      defer.promise( obj );
      ​
      // Resolve the deferred
      defer.resolve( "John" );
      ​
      // Use the object as a Promise
      obj.done(function( name ) {
      obj.hello( name ); // Will alert "Hello John"
      }).hello( "Karl" ); // Will alert "Hello Karl"

  Inherited from PromiseBase.promise

  - Defined in node_modules/@types/jquery/misc.d.ts:1414

### state

- state(): "pending" | "resolved" | "rejected"

  Determine the current state of a Deferred object.

  #### Returns "pending" | "resolved" | "rejected"

  #### See

  `<a href="https://api.jquery.com/deferred.state/">https://api.jquery.com/deferred.state/</a>`

  #### Since

  1.7

  Inherited from PromiseBase.state

  - Defined in node_modules/@types/jquery/misc.d.ts:1420

### then

- then<
  ARD = never,
  AJD = never,
  AND = never,
  BRD = never,
  BJD = never,
  BND = never,
  CRD = never,
  CJD = never,
  CND = never,
  RRD = never,
  RJD = never,
  RND = never,
  ARF = never,
  AJF = never,
  ANF = never,
  BRF = never,
  BJF = never,
  BNF = never,
  CRF = never,
  CJF = never,
  CNF = never,
  RRF = never,
  RJF = never,
  RNF = never,
  ARP = never,
  AJP = never,
  ANP = never,
  BRP = never,
  BJP = never,
  BNP = never,
  CRP = never,
  CJP = never,
  CNP = never,
  RRP = never,
  RJP = never,
  RNP = never,
  >(
  doneFilter: (
  t: TR ,
  u: TR ,
  v: TR ,
  ...s: TR [],
  ) =>
  | ARD
  | PromiseBase < ARD , AJD , AND , BRD , BJD , BND , CRD , CJD , CND , RRD , RJD , RND >
  | Thenable < ARD >,
  failFilter: (
  t: TJ ,
  u: TJ ,
  v: TJ ,
  ...s: TJ [],
  ) =>
  | ARF
  | PromiseBase < ARF , AJF , ANF , BRF , BJF , BNF , CRF , CJF , CNF , RRF , RJF , RNF >
  | Thenable < ARF >,
  progressFilter: (
  t: TN ,
  u: TN ,
  v: TN ,
  ...s: TN [],
  ) =>
  | ANP
  | PromiseBase < ARP , AJP , ANP , BRP , BJP , BNP , CRP , CJP , CNP , RRP , RJP , RNP >
  | Thenable < ANP >,
  ): PromiseBase <
  ARD
  | ARF
  | ARP ,
  AJD | AJF | AJP ,
  AND | ANF | ANP ,
  BRD | BRF | BRP ,
  BJD | BJF | BJP ,
  BND | BNF | BNP ,
  CRD | CRF | CRP ,
  CJD | CJF | CJP ,
  CND | CNF | CNP ,
  RRD | RRF | RRP ,
  RJD | RJF | RJP ,
  RND | RNF | RNP ,
  >

  Add handlers to be called when the Deferred object is resolved, rejected, or still in progress.

  #### Type Parameters

  - ARD = never
  - AJD = never
  - AND = never
  - BRD = never
  - BJD = never
  - BND = never
  - CRD = never
  - CJD = never
  - CND = never
  - RRD = never
  - RJD = never
  - RND = never
  - ARF = never
  - AJF = never
  - ANF = never
  - BRF = never
  - BJF = never
  - BNF = never
  - CRF = never
  - CJF = never
  - CNF = never
  - RRF = never
  - RJF = never
  - RNF = never
  - ARP = never
  - AJP = never
  - ANP = never
  - BRP = never
  - BJP = never
  - BNP = never
  - CRP = never
  - CJP = never
  - CNP = never
  - RRP = never
  - RJP = never
  - RNP = never

  #### Parameters

  - doneFilter: (
    t: TR ,
    u: TR ,
    v: TR ,
    ...s: TR [],
    ) =>
    | ARD
    | PromiseBase < ARD , AJD , AND , BRD , BJD , BND , CRD , CJD , CND , RRD , RJD , RND >
    | Thenable < ARD >

    An optional function that is called when the Deferred is resolved.

  - failFilter: (
    t: TJ ,
    u: TJ ,
    v: TJ ,
    ...s: TJ [],
    ) =>
    | ARF
    | PromiseBase < ARF , AJF , ANF , BRF , BJF , BNF , CRF , CJF , CNF , RRF , RJF , RNF >
    | Thenable < ARF >

    An optional function that is called when the Deferred is rejected.

  - progressFilter: (
    t: TN ,
    u: TN ,
    v: TN ,
    ...s: TN [],
    ) =>
    | ANP
    | PromiseBase < ARP , AJP , ANP , BRP , BJP , BNP , CRP , CJP , CNP , RRP , RJP , RNP >
    | Thenable < ANP >

    An optional function that is called when progress notifications are sent to the Deferred.

  #### Returns PromiseBase <
  ARD
  | ARF
  | ARP ,
  AJD | AJF | AJP ,
  AND | ANF | ANP ,
  BRD | BRF | BRP ,
  BJD | BJF | BJP ,
  BND | BNF | BNP ,
  CRD | CRF | CRP ,
  CJD | CJF | CJP ,
  CND | CNF | CNP ,
  RRD | RRF | RRP ,
  RJD | RJF | RJP ,
  RND | RNF | RNP ,
  >

  #### See

  `<a href="https://api.jquery.com/deferred.then/">https://api.jquery.com/deferred.then/</a>`

  #### Since

  1.8

  #### Example: ​ ````Since the jQuery.get method returns a jqXHR object, which is derived from a Deferred object, we can attach handlers using the .then method. ```javascript $.get( "test.php" ).then( function() { alert( "$.get succeeded" ); }, function() { alert( "$.get failed!" ); } ); ``` @example ​ ````Filter the resolve value:

      <!doctype html>
      <html lang="en">
      <head>
      <meta charset="utf-8">
      <title>deferred.then demo</title>
      <script src="https://code.jquery.com/jquery-3.3.1.js"></script>
      </head>
      <body>
      ​
      <button>Filter Resolve</button>
      <p></p>
      ​
      <script>
      var filterResolve = function() {
      var defer = $.Deferred(),
      filtered = defer.then(function( value ) {
      return value * 2;
      });
      ​
      defer.resolve( 5 );
      filtered.done(function( value ) {
      $( "p" ).html( "Value is ( 2*5 = ) 10: " + value );
      });
      };
      ​
      $( "button" ).on( "click", filterResolve );
      </script>
      ​
      </body>
      </html>

  #### Example: ​ ````Filter reject value: ```javascript var defer = $.Deferred(), filtered = defer.then( null, function( value ) { return value * 3; }); ​ defer.reject( 6 ); filtered.fail(function( value ) { alert( "Value is ( 3*6 = ) 18: " + value ); }); ``` @example ​ ````Chain tasks:

      var request = $.ajax( url, { dataType: "json" } ),
      chained = request.then(function( data ) {
      return $.ajax( url2, { data: { user: data.userId } } );
      });
      ​
      chained.done(function( data ) {
      // data retrieved from url2 as provided by the first request
      });

  Inherited from PromiseBase.then

  - Defined in node_modules/@types/jquery/misc.d.ts:2074
- then<
  ARF = never,
  AJF = never,
  ANF = never,
  BRF = never,
  BJF = never,
  BNF = never,
  CRF = never,
  CJF = never,
  CNF = never,
  RRF = never,
  RJF = never,
  RNF = never,
  ARP = never,
  AJP = never,
  ANP = never,
  BRP = never,
  BJP = never,
  BNP = never,
  CRP = never,
  CJP = never,
  CNP = never,
  RRP = never,
  RJP = never,
  RNP = never,
  >(
  doneFilter: null,
  failFilter: (
  t: TJ ,
  u: TJ ,
  v: TJ ,
  ...s: TJ [],
  ) =>
  | ARF
  | PromiseBase < ARF , AJF , ANF , BRF , BJF , BNF , CRF , CJF , CNF , RRF , RJF , RNF >
  | Thenable < ARF >,
  progressFilter: (
  t: TN ,
  u: TN ,
  v: TN ,
  ...s: TN [],
  ) =>
  | ANP
  | PromiseBase < ARP , AJP , ANP , BRP , BJP , BNP , CRP , CJP , CNP , RRP , RJP , RNP >
  | Thenable < ANP >,
  ): PromiseBase <
  ARF
  | ARP ,
  AJF | AJP ,
  ANF | ANP ,
  BRF | BRP ,
  BJF | BJP ,
  BNF | BNP ,
  CRF | CRP ,
  CJF | CJP ,
  CNF | CNP ,
  RRF | RRP ,
  RJF | RJP ,
  RNF | RNP ,
  >

  Add handlers to be called when the Deferred object is resolved, rejected, or still in progress.

  #### Type Parameters

  - ARF = never
  - AJF = never
  - ANF = never
  - BRF = never
  - BJF = never
  - BNF = never
  - CRF = never
  - CJF = never
  - CNF = never
  - RRF = never
  - RJF = never
  - RNF = never
  - ARP = never
  - AJP = never
  - ANP = never
  - BRP = never
  - BJP = never
  - BNP = never
  - CRP = never
  - CJP = never
  - CNP = never
  - RRP = never
  - RJP = never
  - RNP = never

  #### Parameters

  - doneFilter: null

    An optional function that is called when the Deferred is resolved.

  - failFilter: (
    t: TJ ,
    u: TJ ,
    v: TJ ,
    ...s: TJ [],
    ) =>
    | ARF
    | PromiseBase < ARF , AJF , ANF , BRF , BJF , BNF , CRF , CJF , CNF , RRF , RJF , RNF >
    | Thenable < ARF >

    An optional function that is called when the Deferred is rejected.

  - progressFilter: (
    t: TN ,
    u: TN ,
    v: TN ,
    ...s: TN [],
    ) =>
    | ANP
    | PromiseBase < ARP , AJP , ANP , BRP , BJP , BNP , CRP , CJP , CNP , RRP , RJP , RNP >
    | Thenable < ANP >

    An optional function that is called when progress notifications are sent to the Deferred.

  #### Returns PromiseBase <
  ARF
  | ARP ,
  AJF | AJP ,
  ANF | ANP ,
  BRF | BRP ,
  BJF | BJP ,
  BNF | BNP ,
  CRF | CRP ,
  CJF | CJP ,
  CNF | CNP ,
  RRF | RRP ,
  RJF | RJP ,
  RNF | RNP ,
  >

  #### See

  `<a href="https://api.jquery.com/deferred.then/">https://api.jquery.com/deferred.then/</a>`

  #### Since

  1.8

  #### Example: ​ ````Filter reject value: ```javascript var defer = $.Deferred(), filtered = defer.then( null, function( value ) { return value * 3; }); ​ defer.reject( 6 ); filtered.fail(function( value ) { alert( "Value is ( 3*6 = ) 18: " + value ); }); ``` @example ​ ````Chain tasks:

      var request = $.ajax( url, { dataType: "json" } ),
      chained = request.then(function( data ) {
      return $.ajax( url2, { data: { user: data.userId } } );
      });
      ​
      chained.done(function( data ) {
      // data retrieved from url2 as provided by the first request
      });

  Inherited from PromiseBase.then

  - Defined in node_modules/@types/jquery/misc.d.ts:2175
- then<
  ARD = never,
  AJD = never,
  AND = never,
  BRD = never,
  BJD = never,
  BND = never,
  CRD = never,
  CJD = never,
  CND = never,
  RRD = never,
  RJD = never,
  RND = never,
  ARP = never,
  AJP = never,
  ANP = never,
  BRP = never,
  BJP = never,
  BNP = never,
  CRP = never,
  CJP = never,
  CNP = never,
  RRP = never,
  RJP = never,
  RNP = never,
  >(
  doneFilter: (
  t: TR ,
  u: TR ,
  v: TR ,
  ...s: TR [],
  ) =>
  | ARD
  | PromiseBase < ARD , AJD , AND , BRD , BJD , BND , CRD , CJD , CND , RRD , RJD , RND >
  | Thenable < ARD >,
  failFilter: null,
  progressFilter: (
  t: TN ,
  u: TN ,
  v: TN ,
  ...s: TN [],
  ) =>
  | ANP
  | PromiseBase < ARP , AJP , ANP , BRP , BJP , BNP , CRP , CJP , CNP , RRP , RJP , RNP >
  | Thenable < ANP >,
  ): PromiseBase <
  ARD
  | ARP ,
  AJD | AJP ,
  AND | ANP ,
  BRD | BRP ,
  BJD | BJP ,
  BND | BNP ,
  CRD | CRP ,
  CJD | CJP ,
  CND | CNP ,
  RRD | RRP ,
  RJD | RJP ,
  RND | RNP ,
  >

  Add handlers to be called when the Deferred object is resolved, rejected, or still in progress.

  #### Type Parameters

  - ARD = never
  - AJD = never
  - AND = never
  - BRD = never
  - BJD = never
  - BND = never
  - CRD = never
  - CJD = never
  - CND = never
  - RRD = never
  - RJD = never
  - RND = never
  - ARP = never
  - AJP = never
  - ANP = never
  - BRP = never
  - BJP = never
  - BNP = never
  - CRP = never
  - CJP = never
  - CNP = never
  - RRP = never
  - RJP = never
  - RNP = never

  #### Parameters

  - doneFilter: (
    t: TR ,
    u: TR ,
    v: TR ,
    ...s: TR [],
    ) =>
    | ARD
    | PromiseBase < ARD , AJD , AND , BRD , BJD , BND , CRD , CJD , CND , RRD , RJD , RND >
    | Thenable < ARD >

    An optional function that is called when the Deferred is resolved.

  - failFilter: null

    An optional function that is called when the Deferred is rejected.

  - progressFilter: (
    t: TN ,
    u: TN ,
    v: TN ,
    ...s: TN [],
    ) =>
    | ANP
    | PromiseBase < ARP , AJP , ANP , BRP , BJP , BNP , CRP , CJP , CNP , RRP , RJP , RNP >
    | Thenable < ANP >

    An optional function that is called when progress notifications are sent to the Deferred.

  #### Returns PromiseBase <
  ARD
  | ARP ,
  AJD | AJP ,
  AND | ANP ,
  BRD | BRP ,
  BJD | BJP ,
  BND | BNP ,
  CRD | CRP ,
  CJD | CJP ,
  CND | CNP ,
  RRD | RRP ,
  RJD | RJP ,
  RND | RNP ,
  >

  #### See

  `<a href="https://api.jquery.com/deferred.then/">https://api.jquery.com/deferred.then/</a>`

  #### Since

  1.8

  #### Example: ​ ````Filter the resolve value: ```html <!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>deferred.then demo</title> <script src="https://code.jquery.com/jquery-3.3.1.js"></script> </head> <body> ​ <button>Filter Resolve</button> <p></p> ​ <script> var filterResolve = function() { var defer = $.Deferred(), filtered = defer.then(function( value ) { return value * 2; }); ​ defer.resolve( 5 ); filtered.done(function( value ) { $( "p" ).html( "Value is ( 2*5 = ) 10: " + value ); }); }; ​ $( "button" ).on( "click", filterResolve ); </script> ​ </body> </html> ``` @example ​ ````Chain tasks:

      var request = $.ajax( url, { dataType: "json" } ),
      chained = request.then(function( data ) {
      return $.ajax( url2, { data: { user: data.userId } } );
      });
      ​
      chained.done(function( data ) {
      // data retrieved from url2 as provided by the first request
      });

  Inherited from PromiseBase.then

  - Defined in node_modules/@types/jquery/misc.d.ts:2280
- then<
  ARP = never,
  AJP = never,
  ANP = never,
  BRP = never,
  BJP = never,
  BNP = never,
  CRP = never,
  CJP = never,
  CNP = never,
  RRP = never,
  RJP = never,
  RNP = never,
  >(
  doneFilter: null,
  failFilter: null,
  progressFilter?: (
  t: TN ,
  u: TN ,
  v: TN ,
  ...s: TN [],
  ) =>
  | ANP
  | PromiseBase < ARP , AJP , ANP , BRP , BJP , BNP , CRP , CJP , CNP , RRP , RJP , RNP >
  | Thenable < ANP >,
  ): PromiseBase < ARP , AJP , ANP , BRP , BJP , BNP , CRP , CJP , CNP , RRP , RJP , RNP >

  Add handlers to be called when the Deferred object is resolved, rejected, or still in progress.

  #### Type Parameters

  - ARP = never
  - AJP = never
  - ANP = never
  - BRP = never
  - BJP = never
  - BNP = never
  - CRP = never
  - CJP = never
  - CNP = never
  - RRP = never
  - RJP = never
  - RNP = never

  #### Parameters

  - doneFilter: null

    An optional function that is called when the Deferred is resolved.

  - failFilter: null

    An optional function that is called when the Deferred is rejected.

  - `Optional` progressFilter: (
    t: TN ,
    u: TN ,
    v: TN ,
    ...s: TN [],
    ) =>
    | ANP
    | PromiseBase < ARP , AJP , ANP , BRP , BJP , BNP , CRP , CJP , CNP , RRP , RJP , RNP >
    | Thenable < ANP >

    An optional function that is called when progress notifications are sent to the Deferred.

  #### Returns PromiseBase < ARP , AJP , ANP , BRP , BJP , BNP , CRP , CJP , CNP , RRP , RJP , RNP >

  #### See

  `<a href="https://api.jquery.com/deferred.then/">https://api.jquery.com/deferred.then/</a>`

  #### Since

  1.8

  #### Example: ​ ````Chain tasks:

      var request = $.ajax( url, { dataType: "json" } ),
      chained = request.then(function( data ) {
      return $.ajax( url2, { data: { user: data.userId } } );
      });
      ​
      chained.done(function( data ) {
      // data retrieved from url2 as provided by the first request
      });

  Inherited from PromiseBase.then

  - Defined in node_modules/@types/jquery/misc.d.ts:2352
- then<
  ARD = never,
  AJD = never,
  AND = never,
  BRD = never,
  BJD = never,
  BND = never,
  CRD = never,
  CJD = never,
  CND = never,
  RRD = never,
  RJD = never,
  RND = never,
  ARF = never,
  AJF = never,
  ANF = never,
  BRF = never,
  BJF = never,
  BNF = never,
  CRF = never,
  CJF = never,
  CNF = never,
  RRF = never,
  RJF = never,
  RNF = never,
  >(
  doneFilter: (
  t: TR ,
  u: TR ,
  v: TR ,
  ...s: TR [],
  ) =>
  | ARD
  | PromiseBase < ARD , AJD , AND , BRD , BJD , BND , CRD , CJD , CND , RRD , RJD , RND >
  | Thenable < ARD >,
  failFilter: (
  t: TJ ,
  u: TJ ,
  v: TJ ,
  ...s: TJ [],
  ) =>
  | ARF
  | PromiseBase < ARF , AJF , ANF , BRF , BJF , BNF , CRF , CJF , CNF , RRF , RJF , RNF >
  | Thenable < ARF >,
  progressFilter?: null,
  ): PromiseBase <
  ARD
  | ARF ,
  AJD | AJF ,
  AND | ANF ,
  BRD | BRF ,
  BJD | BJF ,
  BND | BNF ,
  CRD | CRF ,
  CJD | CJF ,
  CND | CNF ,
  RRD | RRF ,
  RJD | RJF ,
  RND | RNF ,
  >

  Add handlers to be called when the Deferred object is resolved, rejected, or still in progress.

  #### Type Parameters

  - ARD = never
  - AJD = never
  - AND = never
  - BRD = never
  - BJD = never
  - BND = never
  - CRD = never
  - CJD = never
  - CND = never
  - RRD = never
  - RJD = never
  - RND = never
  - ARF = never
  - AJF = never
  - ANF = never
  - BRF = never
  - BJF = never
  - BNF = never
  - CRF = never
  - CJF = never
  - CNF = never
  - RRF = never
  - RJF = never
  - RNF = never

  #### Parameters

  - doneFilter: (
    t: TR ,
    u: TR ,
    v: TR ,
    ...s: TR [],
    ) =>
    | ARD
    | PromiseBase < ARD , AJD , AND , BRD , BJD , BND , CRD , CJD , CND , RRD , RJD , RND >
    | Thenable < ARD >

    An optional function that is called when the Deferred is resolved.

  - failFilter: (
    t: TJ ,
    u: TJ ,
    v: TJ ,
    ...s: TJ [],
    ) =>
    | ARF
    | PromiseBase < ARF , AJF , ANF , BRF , BJF , BNF , CRF , CJF , CNF , RRF , RJF , RNF >
    | Thenable < ARF >

    An optional function that is called when the Deferred is rejected.

  - `Optional` progressFilter: null

    An optional function that is called when progress notifications are sent to the Deferred.

  #### Returns PromiseBase <
  ARD
  | ARF ,
  AJD | AJF ,
  AND | ANF ,
  BRD | BRF ,
  BJD | BJF ,
  BND | BNF ,
  CRD | CRF ,
  CJD | CJF ,
  CND | CNF ,
  RRD | RRF ,
  RJD | RJF ,
  RND | RNF ,
  >

  #### See

  `<a href="https://api.jquery.com/deferred.then/">https://api.jquery.com/deferred.then/</a>`

  #### Since

  1.8

  #### Example: ​ ````Since the jQuery.get method returns a jqXHR object, which is derived from a Deferred object, we can attach handlers using the .then method. ```javascript $.get( "test.php" ).then( function() { alert( "$.get succeeded" ); }, function() { alert( "$.get failed!" ); } ); ``` @example ​ ````Filter the resolve value:

      <!doctype html>
      <html lang="en">
      <head>
      <meta charset="utf-8">
      <title>deferred.then demo</title>
      <script src="https://code.jquery.com/jquery-3.3.1.js"></script>
      </head>
      <body>
      ​
      <button>Filter Resolve</button>
      <p></p>
      ​
      <script>
      var filterResolve = function() {
      var defer = $.Deferred(),
      filtered = defer.then(function( value ) {
      return value * 2;
      });
      ​
      defer.resolve( 5 );
      filtered.done(function( value ) {
      $( "p" ).html( "Value is ( 2*5 = ) 10: " + value );
      });
      };
      ​
      $( "button" ).on( "click", filterResolve );
      </script>
      ​
      </body>
      </html>

  #### Example: ​ ````Filter reject value: ```javascript var defer = $.Deferred(), filtered = defer.then( null, function( value ) { return value * 3; }); ​ defer.reject( 6 ); filtered.fail(function( value ) { alert( "Value is ( 3*6 = ) 18: " + value ); }); ``` @example ​ ````Chain tasks:

      var request = $.ajax( url, { dataType: "json" } ),
      chained = request.then(function( data ) {
      return $.ajax( url2, { data: { user: data.userId } } );
      });
      ​
      chained.done(function( data ) {
      // data retrieved from url2 as provided by the first request
      });

  Inherited from PromiseBase.then

  - Defined in node_modules/@types/jquery/misc.d.ts:2449
- then<
  ARF = never,
  AJF = never,
  ANF = never,
  BRF = never,
  BJF = never,
  BNF = never,
  CRF = never,
  CJF = never,
  CNF = never,
  RRF = never,
  RJF = never,
  RNF = never,
  >(
  doneFilter: null,
  failFilter: (
  t: TJ ,
  u: TJ ,
  v: TJ ,
  ...s: TJ [],
  ) =>
  | ARF
  | PromiseBase < ARF , AJF , ANF , BRF , BJF , BNF , CRF , CJF , CNF , RRF , RJF , RNF >
  | Thenable < ARF >,
  progressFilter?: null,
  ): PromiseBase < ARF , AJF , ANF , BRF , BJF , BNF , CRF , CJF , CNF , RRF , RJF , RNF >

  Add handlers to be called when the Deferred object is resolved, rejected, or still in progress.

  #### Type Parameters

  - ARF = never
  - AJF = never
  - ANF = never
  - BRF = never
  - BJF = never
  - BNF = never
  - CRF = never
  - CJF = never
  - CNF = never
  - RRF = never
  - RJF = never
  - RNF = never

  #### Parameters

  - doneFilter: null

    An optional function that is called when the Deferred is resolved.

  - failFilter: (
    t: TJ ,
    u: TJ ,
    v: TJ ,
    ...s: TJ [],
    ) =>
    | ARF
    | PromiseBase < ARF , AJF , ANF , BRF , BJF , BNF , CRF , CJF , CNF , RRF , RJF , RNF >
    | Thenable < ARF >

    An optional function that is called when the Deferred is rejected.

  - `Optional` progressFilter: null

    An optional function that is called when progress notifications are sent to the Deferred.

  #### Returns PromiseBase < ARF , AJF , ANF , BRF , BJF , BNF , CRF , CJF , CNF , RRF , RJF , RNF >

  #### See

  `<a href="https://api.jquery.com/deferred.then/">https://api.jquery.com/deferred.then/</a>`

  #### Since

  1.8

  #### Example: ​ ````Filter reject value: ```javascript var defer = $.Deferred(), filtered = defer.then( null, function( value ) { return value * 3; }); ​ defer.reject( 6 ); filtered.fail(function( value ) { alert( "Value is ( 3*6 = ) 18: " + value ); }); ``` @example ​ ````Chain tasks:

      var request = $.ajax( url, { dataType: "json" } ),
      chained = request.then(function( data ) {
      return $.ajax( url2, { data: { user: data.userId } } );
      });
      ​
      chained.done(function( data ) {
      // data retrieved from url2 as provided by the first request
      });

  Inherited from PromiseBase.then

  - Defined in node_modules/@types/jquery/misc.d.ts:2533
- then<
  ARD = never,
  AJD = never,
  AND = never,
  BRD = never,
  BJD = never,
  BND = never,
  CRD = never,
  CJD = never,
  CND = never,
  RRD = never,
  RJD = never,
  RND = never,
  >(
  doneFilter: (
  t: TR ,
  u: TR ,
  v: TR ,
  ...s: TR [],
  ) =>
  | ARD
  | PromiseBase < ARD , AJD , AND , BRD , BJD , BND , CRD , CJD , CND , RRD , RJD , RND >
  | Thenable < ARD >,
  failFilter?: null,
  progressFilter?: null,
  ): PromiseBase < ARD , AJD , AND , BRD , BJD , BND , CRD , CJD , CND , RRD , RJD , RND >

  Add handlers to be called when the Deferred object is resolved, rejected, or still in progress.

  #### Type Parameters

  - ARD = never
  - AJD = never
  - AND = never
  - BRD = never
  - BJD = never
  - BND = never
  - CRD = never
  - CJD = never
  - CND = never
  - RRD = never
  - RJD = never
  - RND = never

  #### Parameters

  - doneFilter: (
    t: TR ,
    u: TR ,
    v: TR ,
    ...s: TR [],
    ) =>
    | ARD
    | PromiseBase < ARD , AJD , AND , BRD , BJD , BND , CRD , CJD , CND , RRD , RJD , RND >
    | Thenable < ARD >

    An optional function that is called when the Deferred is resolved.

  - `Optional` failFilter: null

    An optional function that is called when the Deferred is rejected.

  - `Optional` progressFilter: null

    An optional function that is called when progress notifications are sent to the Deferred.

  #### Returns PromiseBase < ARD , AJD , AND , BRD , BJD , BND , CRD , CJD , CND , RRD , RJD , RND >

  #### See

  `<a href="https://api.jquery.com/deferred.then/">https://api.jquery.com/deferred.then/</a>`

  #### Since

  1.8

  #### Example: ​ ````Filter the resolve value: ```html <!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>deferred.then demo</title> <script src="https://code.jquery.com/jquery-3.3.1.js"></script> </head> <body> ​ <button>Filter Resolve</button> <p></p> ​ <script> var filterResolve = function() { var defer = $.Deferred(), filtered = defer.then(function( value ) { return value * 2; }); ​ defer.resolve( 5 ); filtered.done(function( value ) { $( "p" ).html( "Value is ( 2*5 = ) 10: " + value ); }); }; ​ $( "button" ).on( "click", filterResolve ); </script> ​ </body> </html> ``` @example ​ ````Chain tasks:

      var request = $.ajax( url, { dataType: "json" } ),
      chained = request.then(function( data ) {
      return $.ajax( url2, { data: { user: data.userId } } );
      });
      ​
      chained.done(function( data ) {
      // data retrieved from url2 as provided by the first request
      });

  Inherited from PromiseBase.then

  - Defined in node_modules/@types/jquery/misc.d.ts:2608