docs/Script API/interfaces/Frontend_Script_API._internal_.PromiseBase.html
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.
<a href="https://api.jquery.com/Types/#Promise">https://api.jquery.com/Types/#Promise</a>
interface PromiseBase<TR, TJ, TN, UR, UJ, UN, VR, VJ, VN, SR, SJ, SN> {
always(
alwaysCallback: TypeOrArray<
CallbackBase<TR | TJ, UR | UJ, VR | VJ, SR | SJ>,
>,
...alwaysCallbacks: TypeOrArray<
CallbackBase<TR | TJ, UR | UJ, VR | VJ, SR | SJ>,
>[],
): 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: UJ,
v: VJ,
...s: SJ[],
) =>
| 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, UR, VR, SR>>,
...doneCallbacks: TypeOrArray<CallbackBase<TR, UR, VR, SR>>[],
): this;
fail(
failCallback: TypeOrArray<CallbackBase<TJ, UJ, VJ, SJ>>,
...failCallbacks: TypeOrArray<CallbackBase<TJ, UJ, VJ, SJ>>[],
): 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: UR,
v: VR,
...s: SR[],
) =>
| ARD
| PromiseBase<ARD, AJD, AND, BRD, BJD, BND, CRD, CJD, CND, RRD, RJD, RND>
| Thenable<ARD>,
failFilter: (
t: TJ,
u: UJ,
v: VJ,
...s: SJ[],
) =>
| AJF
| PromiseBase<ARF, AJF, ANF, BRF, BJF, BNF, CRF, CJF, CNF, RRF, RJF, RNF>
| Thenable<AJF>,
progressFilter: (
t: TN,
u: UN,
v: VN,
...s: SN[],
) =>
| 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: UJ,
v: VJ,
...s: SJ[],
) =>
| AJF
| PromiseBase<ARF, AJF, ANF, BRF, BJF, BNF, CRF, CJF, CNF, RRF, RJF, RNF>
| Thenable<AJF>,
progressFilter: (
t: TN,
u: UN,
v: VN,
...s: SN[],
) =>
| 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: UR,
v: VR,
...s: SR[],
) =>
| ARD
| PromiseBase<ARD, AJD, AND, BRD, BJD, BND, CRD, CJD, CND, RRD, RJD, RND>
| Thenable<ARD>,
failFilter: null,
progressFilter: (
t: TN,
u: UN,
v: VN,
...s: SN[],
) =>
| 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: UN,
v: VN,
...s: SN[],
) =>
| 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: UR,
v: VR,
...s: SR[],
) =>
| ARD
| PromiseBase<ARD, AJD, AND, BRD, BJD, BND, CRD, CJD, CND, RRD, RJD, RND>
| Thenable<ARD>,
failFilter: (
t: TJ,
u: UJ,
v: VJ,
...s: SJ[],
) =>
| 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: UJ,
v: VJ,
...s: SJ[],
) =>
| 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: UR,
v: VR,
...s: SR[],
) =>
| 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, UN, VN, SN>>,
...progressCallbacks: TypeOrArray<CallbackBase<TN, UN, VN, SN>>[],
): this;
promise<TTarget extends object>(
target: TTarget,
): PromiseBase<TR, TJ, TN, UR, UJ, UN, VR, VJ, VN, SR, SJ, SN> & 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: UR,
v: VR,
...s: SR[],
) =>
| ARD
| PromiseBase<ARD, AJD, AND, BRD, BJD, BND, CRD, CJD, CND, RRD, RJD, RND>
| Thenable<ARD>,
failFilter: (
t: TJ,
u: UJ,
v: VJ,
...s: SJ[],
) =>
| ARF
| PromiseBase<ARF, AJF, ANF, BRF, BJF, BNF, CRF, CJF, CNF, RRF, RJF, RNF>
| Thenable<ARF>,
progressFilter: (
t: TN,
u: UN,
v: VN,
...s: SN[],
) =>
| 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: UJ,
v: VJ,
...s: SJ[],
) =>
| ARF
| PromiseBase<ARF, AJF, ANF, BRF, BJF, BNF, CRF, CJF, CNF, RRF, RJF, RNF>
| Thenable<ARF>,
progressFilter: (
t: TN,
u: UN,
v: VN,
...s: SN[],
) =>
| 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: UR,
v: VR,
...s: SR[],
) =>
| ARD
| PromiseBase<ARD, AJD, AND, BRD, BJD, BND, CRD, CJD, CND, RRD, RJD, RND>
| Thenable<ARD>,
failFilter: null,
progressFilter: (
t: TN,
u: UN,
v: VN,
...s: SN[],
) =>
| 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: UN,
v: VN,
...s: SN[],
) =>
| 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: UR,
v: VR,
...s: SR[],
) =>
| ARD
| PromiseBase<ARD, AJD, AND, BRD, BJD, BND, CRD, CJD, CND, RRD, RJD, RND>
| Thenable<ARD>,
failFilter: (
t: TJ,
u: UJ,
v: VJ,
...s: SJ[],
) =>
| 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: UJ,
v: VJ,
...s: SJ[],
) =>
| 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: UR,
v: VR,
...s: SR[],
) =>
| 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>;
}
alwayscatchdonefailpipeprogresspromisestatethen
always(
alwaysCallback: TypeOrArray<
CallbackBase<TR | TJ, UR | UJ, VR | VJ, SR | SJ>,
>,
...alwaysCallbacks: TypeOrArray<
CallbackBase<TR | TJ, UR | UJ, VR | VJ, SR | SJ>,
>[],
): this
Add handlers to be called when the Deferred object is either resolved or rejected.
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.
<a href="https://api.jquery.com/deferred.always/">https://api.jquery.com/deferred.always/</a>
1.6
$.get( "test.php" ).always(function() {alert( "$.get completed with success or error callback arguments" );});Copy
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: UJ,
v: VJ,
...s: SJ[],
) =>
| 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.
OptionalfailFilter:A function that is called when the Deferred is rejected.
<a href="https://api.jquery.com/deferred.catch/">https://api.jquery.com/deferred.catch/</a>
3.0
$.get( "test.php" ).then( function() {alert( "$.get succeeded" );} ).catch( function() {alert( "$.get failed!" );} );Copy
done(
doneCallback: TypeOrArray<CallbackBase<TR, UR, VR, SR>>,
...doneCallbacks: TypeOrArray<CallbackBase<TR, UR, VR, SR>>[],
): this
Add handlers to be called when the Deferred object is resolved.
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.
<a href="https://api.jquery.com/deferred.done/">https://api.jquery.com/deferred.done/</a>
1.5
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(
failCallback: TypeOrArray<CallbackBase<TJ, UJ, VJ, SJ>>,
...failCallbacks: TypeOrArray<CallbackBase<TJ, UJ, VJ, SJ>>[],
): this
Add handlers to be called when the Deferred object is rejected.
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.
<a href="https://api.jquery.com/deferred.fail/">https://api.jquery.com/deferred.fail/</a>
1.5
$.get( "test.php" ).done(function() {alert( "$.get succeeded" );}).fail(function() {alert( "$.get failed!" );});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,
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: UR,
v: VR,
...s: SR[],
) =>
| ARD
| PromiseBase<ARD, AJD, AND, BRD, BJD, BND, CRD, CJD, CND, RRD, RJD, RND>
| Thenable<ARD>,
failFilter: (
t: TJ,
u: UJ,
v: VJ,
...s: SJ[],
) =>
| AJF
| PromiseBase<ARF, AJF, ANF, BRF, BJF, BNF, CRF, CJF, CNF, RRF, RJF, RNF>
| Thenable<AJF>,
progressFilter: (
t: TN,
u: UN,
v: VN,
...s: SN[],
) =>
| 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.
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.
<a href="https://api.jquery.com/deferred.pipe/">https://api.jquery.com/deferred.pipe/</a>
1.6
1.7
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.
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
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: UJ,
v: VJ,
...s: SJ[],
) =>
| AJF
| PromiseBase<ARF, AJF, ANF, BRF, BJF, BNF, CRF, CJF, CNF, RRF, RJF, RNF>
| Thenable<AJF>,
progressFilter: (
t: TN,
u: UN,
v: VN,
...s: SN[],
) =>
| 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.
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.
<a href="https://api.jquery.com/deferred.pipe/">https://api.jquery.com/deferred.pipe/</a>
1.6
1.7
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.
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: UR,
v: VR,
...s: SR[],
) =>
| ARD
| PromiseBase<ARD, AJD, AND, BRD, BJD, BND, CRD, CJD, CND, RRD, RJD, RND>
| Thenable<ARD>,
failFilter: null,
progressFilter: (
t: TN,
u: UN,
v: VN,
...s: SN[],
) =>
| 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.
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.
<a href="https://api.jquery.com/deferred.pipe/">https://api.jquery.com/deferred.pipe/</a>
1.6
1.7
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.
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: UN,
v: VN,
...s: SN[],
) =>
| 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.
An optional function that is called when the Deferred is resolved.
An optional function that is called when the Deferred is rejected.
OptionalprogressFilter: (An optional function that is called when progress notifications are sent to the Deferred.
<a href="https://api.jquery.com/deferred.pipe/">https://api.jquery.com/deferred.pipe/</a>
1.6
1.7
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.
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: UR,
v: VR,
...s: SR[],
) =>
| ARD
| PromiseBase<ARD, AJD, AND, BRD, BJD, BND, CRD, CJD, CND, RRD, RJD, RND>
| Thenable<ARD>,
failFilter: (
t: TJ,
u: UJ,
v: VJ,
...s: SJ[],
) =>
| 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.
An optional function that is called when the Deferred is resolved.
An optional function that is called when the Deferred is rejected.
OptionalprogressFilter: nullAn optional function that is called when progress notifications are sent to the Deferred.
<a href="https://api.jquery.com/deferred.pipe/">https://api.jquery.com/deferred.pipe/</a>
1.6
1.7
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.
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
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: UJ,
v: VJ,
...s: SJ[],
) =>
| 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.
An optional function that is called when the Deferred is resolved.
An optional function that is called when the Deferred is rejected.
OptionalprogressFilter: nullAn optional function that is called when progress notifications are sent to the Deferred.
<a href="https://api.jquery.com/deferred.pipe/">https://api.jquery.com/deferred.pipe/</a>
1.6
1.7
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.
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: UR,
v: VR,
...s: SR[],
) =>
| 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.
An optional function that is called when the Deferred is resolved.
OptionalfailFilter: nullAn optional function that is called when the Deferred is rejected.
OptionalprogressFilter: nullAn optional function that is called when progress notifications are sent to the Deferred.
<a href="https://api.jquery.com/deferred.pipe/">https://api.jquery.com/deferred.pipe/</a>
1.6
1.7
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.
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(
progressCallback: TypeOrArray<CallbackBase<TN, UN, VN, SN>>,
...progressCallbacks: TypeOrArray<CallbackBase<TN, UN, VN, SN>>[],
): this
Add handlers to be called when the Deferred object generates progress notifications.
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.
<a href="https://api.jquery.com/deferred.progress/">https://api.jquery.com/deferred.progress/</a>
1.7
promise<TTarget extends object>(
target: TTarget,
): PromiseBase<TR, TJ, TN, UR, UJ, UN, VR, VJ, VN, SR, SJ, SN> & TTarget
Return a Deferred's Promise object.
Object onto which the promise methods have to be attached
<a href="https://api.jquery.com/deferred.promise/">https://api.jquery.com/deferred.promise/</a>
1.5
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.
<a href="https://api.jquery.com/deferred.promise/">https://api.jquery.com/deferred.promise/</a>
1.5
// 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(): "pending" | "resolved" | "rejected"
Determine the current state of a Deferred object.
<a href="https://api.jquery.com/deferred.state/">https://api.jquery.com/deferred.state/</a>
1.7
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: UR,
v: VR,
...s: SR[],
) =>
| ARD
| PromiseBase<ARD, AJD, AND, BRD, BJD, BND, CRD, CJD, CND, RRD, RJD, RND>
| Thenable<ARD>,
failFilter: (
t: TJ,
u: UJ,
v: VJ,
...s: SJ[],
) =>
| ARF
| PromiseBase<ARF, AJF, ANF, BRF, BJF, BNF, CRF, CJF, CNF, RRF, RJF, RNF>
| Thenable<ARF>,
progressFilter: (
t: TN,
u: UN,
v: VN,
...s: SN[],
) =>
| 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.
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.
<a href="https://api.jquery.com/deferred.then/">https://api.jquery.com/deferred.then/</a>
1.8
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
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: UJ,
v: VJ,
...s: SJ[],
) =>
| ARF
| PromiseBase<ARF, AJF, ANF, BRF, BJF, BNF, CRF, CJF, CNF, RRF, RJF, RNF>
| Thenable<ARF>,
progressFilter: (
t: TN,
u: UN,
v: VN,
...s: SN[],
) =>
| 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.
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.
<a href="https://api.jquery.com/deferred.then/">https://api.jquery.com/deferred.then/</a>
1.8
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: UR,
v: VR,
...s: SR[],
) =>
| ARD
| PromiseBase<ARD, AJD, AND, BRD, BJD, BND, CRD, CJD, CND, RRD, RJD, RND>
| Thenable<ARD>,
failFilter: null,
progressFilter: (
t: TN,
u: UN,
v: VN,
...s: SN[],
) =>
| 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.
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.
<a href="https://api.jquery.com/deferred.then/">https://api.jquery.com/deferred.then/</a>
1.8
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: UN,
v: VN,
...s: SN[],
) =>
| 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.
An optional function that is called when the Deferred is resolved.
An optional function that is called when the Deferred is rejected.
OptionalprogressFilter: (An optional function that is called when progress notifications are sent to the Deferred.
<a href="https://api.jquery.com/deferred.then/">https://api.jquery.com/deferred.then/</a>
1.8
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: UR,
v: VR,
...s: SR[],
) =>
| ARD
| PromiseBase<ARD, AJD, AND, BRD, BJD, BND, CRD, CJD, CND, RRD, RJD, RND>
| Thenable<ARD>,
failFilter: (
t: TJ,
u: UJ,
v: VJ,
...s: SJ[],
) =>
| 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.
An optional function that is called when the Deferred is resolved.
An optional function that is called when the Deferred is rejected.
OptionalprogressFilter: nullAn optional function that is called when progress notifications are sent to the Deferred.
<a href="https://api.jquery.com/deferred.then/">https://api.jquery.com/deferred.then/</a>
1.8
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
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: UJ,
v: VJ,
...s: SJ[],
) =>
| 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.
An optional function that is called when the Deferred is resolved.
An optional function that is called when the Deferred is rejected.
OptionalprogressFilter: nullAn optional function that is called when progress notifications are sent to the Deferred.
<a href="https://api.jquery.com/deferred.then/">https://api.jquery.com/deferred.then/</a>
1.8
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: UR,
v: VR,
...s: SR[],
) =>
| 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.
An optional function that is called when the Deferred is resolved.
OptionalfailFilter: nullAn optional function that is called when the Deferred is rejected.
OptionalprogressFilter: nullAn optional function that is called when progress notifications are sent to the Deferred.
<a href="https://api.jquery.com/deferred.then/">https://api.jquery.com/deferred.then/</a>
1.8
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
Member Visibility
ThemeOSLightDark