Back to Trilium

Interface Promise<TR, TJ, TN>

docs/Script API/interfaces/Frontend_Script_API._internal_.Promise.html

0.102.2207.8 KB
Original Source

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)

Index

Methods

alwayscatchdonefailpipeprogresspromisestatethen

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

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

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" );});Copy

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

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!" );} );Copy

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

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

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 resolvedfunction fn1() {$( "p" ).append( " 1 " );}function fn2() {$( "p" ).append( " 2 " );}function fn3( n ) {$( "p" ).append( n + " 3 " + n );}​// Create a deferred objectvar dfd = $.Deferred();​// Add handlers to be called when dfd is resolveddfd// .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>Copy

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

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

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!" );});Copy

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

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

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

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 );});Copy

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});Copy

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.

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

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});Copy

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

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

  • failFilter: null

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

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});Copy

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.

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});Copy

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

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

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

  • OptionalprogressFilter: 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 );});Copy

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});Copy

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.

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

  • OptionalprogressFilter: 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});Copy

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

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

  • OptionalfailFilter: null

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

  • OptionalprogressFilter: 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});Copy

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

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

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

promise

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

Return a Deferred's Promise object.

Type Parameters

  • TTarget extends object

Parameters

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 "wins" 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 "working..." to the document body.

function asyncEvent() {var dfd = jQuery.Deferred();​// Resolve after a random intervalsetTimeout(function() {dfd.resolve( "hurray" );}, Math.floor( 400 + Math.random() * 2000 ) );​// Reject after a random intervalsetTimeout(function() {dfd.reject( "sorry" );}, Math.floor( 400 + Math.random() * 2000 ) );​// Show a "working..." message every half-secondsetTimeout(function working() {if ( dfd.state() === "pending" ) {dfd.notify( "working... " );setTimeout( working, 500 );}}, 1 );​// Return the Promise so caller can't change the Deferredreturn 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 );});Copy

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 objectvar obj = {hello: function( name ) {alert( "Hello " + name );}},// Create a Deferreddefer = $.Deferred();​// Set object as a promisedefer.promise( obj );​// Resolve the deferreddefer.resolve( "John" );​// Use the object as a Promiseobj.done(function( name ) {obj.hello( name ); // Will alert "Hello John"}).hello( "Karl" ); // Will alert "Hello Karl"Copy

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

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

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

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

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>Copy

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});Copy

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.

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

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});Copy

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

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

  • failFilter: null

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

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});Copy

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.

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});Copy

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

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

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

  • OptionalprogressFilter: 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>Copy

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});Copy

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.

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

  • OptionalprogressFilter: 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});Copy

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

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

  • OptionalfailFilter: null

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

  • OptionalprogressFilter: 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});Copy

Settings

Member Visibility

  • Protected
  • Inherited
  • External

ThemeOSLightDark

On This Page

Methods alwayscatchdonefailpipeprogresspromisestatethen