sesaparcours
    Preparing search index...

    The promise will be resolved when the animation reaches its end, and rejected when terminated early. The context of callbacks attached to the promise will be the element, and the arguments will be the Animation object and a boolean jumpedToEnd which when true means the animation was stopped with gotoEnd, when undefined the animation completed naturally.

    <a href="https://gist.github.com/gnarf/54829d408993526fe475#animation-factory">https://gist.github.com/gnarf/54829d408993526fe475#animation-factory</a>

    1.8

    interface Animation<TElement> {
        duration: number;
        elem: TElement;
        opts: EffectsOptions<TElement>;
        originalOpts: EffectsOptions<TElement>;
        originalProps: PlainObject;
        props: PlainObject;
        startTime: number;
        tweens: Tween<TElement>[];
        always(
            alwaysCallback: TypeOrArray<
                CallbackBase<Animation<TElement>, boolean | undefined, never, never>,
            >,
            ...alwaysCallbacks: TypeOrArray<
                CallbackBase<Animation<TElement>, boolean | undefined, never, never>,
            >[],
        ): 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?:
                | (
                    (
                        t: Animation,
                        u: false,
                        v: never,
                        ...s: never[],
                    ) =>
                        | ARF
                        | PromiseBase<
                            ARF,
                            AJF,
                            ANF,
                            BRF,
                            BJF,
                            BNF,
                            CRF,
                            CJF,
                            CNF,
                            RRF,
                            RJF,
                            RNF,
                        >
                        | Thenable<ARF>
                )
                | null,
        ): PromiseBase<ARF, AJF, ANF, BRF, BJF, BNF, CRF, CJF, CNF, RRF, RJF, RNF>;
        createTween(propName: string, finalValue: number): Tween<TElement>;
        done(
            doneCallback: TypeOrArray<
                CallbackBase<Animation<TElement>, true | undefined, never, never>,
            >,
            ...doneCallbacks: TypeOrArray<
                CallbackBase<Animation<TElement>, true | undefined, never, never>,
            >[],
        ): this;
        fail(
            failCallback: TypeOrArray<
                CallbackBase<Animation<TElement>, false, never, never>,
            >,
            ...failCallbacks: TypeOrArray<
                CallbackBase<Animation<TElement>, false, never, never>,
            >[],
        ): 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: Animation,
                u: true | undefined,
                v: never,
                ...s: never[],
            ) =>
                | ARD
                | PromiseBase<ARD, AJD, AND, BRD, BJD, BND, CRD, CJD, CND, RRD, RJD, RND>
                | Thenable<ARD>,
            failFilter: (
                t: Animation,
                u: false,
                v: never,
                ...s: never[],
            ) =>
                | AJF
                | PromiseBase<ARF, AJF, ANF, BRF, BJF, BNF, CRF, CJF, CNF, RRF, RJF, RNF>
                | Thenable<AJF>,
            progressFilter: (
                t: Animation,
                u: number,
                v: number,
                ...s: never[],
            ) =>
                | 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: Animation,
                u: false,
                v: never,
                ...s: never[],
            ) =>
                | AJF
                | PromiseBase<ARF, AJF, ANF, BRF, BJF, BNF, CRF, CJF, CNF, RRF, RJF, RNF>
                | Thenable<AJF>,
            progressFilter: (
                t: Animation,
                u: number,
                v: number,
                ...s: never[],
            ) =>
                | 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: Animation,
                u: true | undefined,
                v: never,
                ...s: never[],
            ) =>
                | ARD
                | PromiseBase<ARD, AJD, AND, BRD, BJD, BND, CRD, CJD, CND, RRD, RJD, RND>
                | Thenable<ARD>,
            failFilter: null,
            progressFilter: (
                t: Animation,
                u: number,
                v: number,
                ...s: never[],
            ) =>
                | 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: Animation,
                u: number,
                v: number,
                ...s: never[],
            ) =>
                | 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: Animation,
                u: true | undefined,
                v: never,
                ...s: never[],
            ) =>
                | ARD
                | PromiseBase<ARD, AJD, AND, BRD, BJD, BND, CRD, CJD, CND, RRD, RJD, RND>
                | Thenable<ARD>,
            failFilter: (
                t: Animation,
                u: false,
                v: never,
                ...s: never[],
            ) =>
                | 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: Animation,
                u: false,
                v: never,
                ...s: never[],
            ) =>
                | 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: Animation,
                u: true | undefined,
                v: never,
                ...s: never[],
            ) =>
                | 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<Animation<TElement>, number, number, never>,
            >,
            ...progressCallbacks: TypeOrArray<
                CallbackBase<Animation<TElement>, number, number, never>,
            >[],
        ): this;
        promise<TTarget extends object>(
            target: TTarget,
        ): Animation<TElement> & TTarget;
        promise(): this;
        state(): "pending" | "resolved" | "rejected";
        stop(gotoEnd: boolean): this;
        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: Animation,
                u: true | undefined,
                v: never,
                ...s: never[],
            ) =>
                | ARD
                | PromiseBase<ARD, AJD, AND, BRD, BJD, BND, CRD, CJD, CND, RRD, RJD, RND>
                | Thenable<ARD>,
            failFilter: (
                t: Animation,
                u: false,
                v: never,
                ...s: never[],
            ) =>
                | ARF
                | PromiseBase<ARF, AJF, ANF, BRF, BJF, BNF, CRF, CJF, CNF, RRF, RJF, RNF>
                | Thenable<ARF>,
            progressFilter: (
                t: Animation,
                u: number,
                v: number,
                ...s: never[],
            ) =>
                | 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: Animation,
                u: false,
                v: never,
                ...s: never[],
            ) =>
                | ARF
                | PromiseBase<ARF, AJF, ANF, BRF, BJF, BNF, CRF, CJF, CNF, RRF, RJF, RNF>
                | Thenable<ARF>,
            progressFilter: (
                t: Animation,
                u: number,
                v: number,
                ...s: never[],
            ) =>
                | 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: Animation,
                u: true | undefined,
                v: never,
                ...s: never[],
            ) =>
                | ARD
                | PromiseBase<ARD, AJD, AND, BRD, BJD, BND, CRD, CJD, CND, RRD, RJD, RND>
                | Thenable<ARD>,
            failFilter: null,
            progressFilter: (
                t: Animation,
                u: number,
                v: number,
                ...s: never[],
            ) =>
                | 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: Animation,
                u: number,
                v: number,
                ...s: never[],
            ) =>
                | 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: Animation,
                u: true | undefined,
                v: never,
                ...s: never[],
            ) =>
                | ARD
                | PromiseBase<ARD, AJD, AND, BRD, BJD, BND, CRD, CJD, CND, RRD, RJD, RND>
                | Thenable<ARD>,
            failFilter: (
                t: Animation,
                u: false,
                v: never,
                ...s: never[],
            ) =>
                | 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: Animation,
                u: false,
                v: never,
                ...s: never[],
            ) =>
                | 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: Animation,
                u: true | undefined,
                v: never,
                ...s: never[],
            ) =>
                | 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

    • TElement

    Hierarchy (View Summary)

    Index

    Properties

    duration: number

    The duration specified in ms

    <a href="https://gist.github.com/gnarf/54829d408993526fe475#animation-factory">https://gist.github.com/gnarf/54829d408993526fe475#animation-factory</a>

    1.8

    elem: TElement

    The element being animatied

    <a href="https://gist.github.com/gnarf/54829d408993526fe475#animation-factory">https://gist.github.com/gnarf/54829d408993526fe475#animation-factory</a>

    1.8

    The animation options

    <a href="https://gist.github.com/gnarf/54829d408993526fe475#animation-factory">https://gist.github.com/gnarf/54829d408993526fe475#animation-factory</a>

    1.8

    originalOpts: EffectsOptions<TElement>

    The original options before being filtered

    <a href="https://gist.github.com/gnarf/54829d408993526fe475#animation-factory">https://gist.github.com/gnarf/54829d408993526fe475#animation-factory</a>

    1.8

    originalProps: PlainObject

    The original properties before being filtered

    <a href="https://gist.github.com/gnarf/54829d408993526fe475#animation-factory">https://gist.github.com/gnarf/54829d408993526fe475#animation-factory</a>

    1.8

    The final value of each property animating

    <a href="https://gist.github.com/gnarf/54829d408993526fe475#animation-factory">https://gist.github.com/gnarf/54829d408993526fe475#animation-factory</a>

    1.8

    startTime: number

    The numeric value of new Date() when the animation began

    <a href="https://gist.github.com/gnarf/54829d408993526fe475#animation-factory">https://gist.github.com/gnarf/54829d408993526fe475#animation-factory</a>

    1.8

    tweens: Tween<TElement>[]

    The animations tweens.

    <a href="https://gist.github.com/gnarf/54829d408993526fe475#animation-factory">https://gist.github.com/gnarf/54829d408993526fe475#animation-factory</a>

    1.8

    Methods

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

      Parameters

      • alwaysCallback: TypeOrArray<
            CallbackBase<Animation<TElement>, boolean | undefined, never, never>,
        >

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

      • ...alwaysCallbacks: TypeOrArray<
            CallbackBase<Animation<TElement>, boolean | undefined, never, never>,
        >[]

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

      Returns this

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

      • OptionalfailFilter:
            | (
                (
                    t: Animation,
                    u: false,
                    v: never,
                    ...s: never[],
                ) =>
                    | ARF
                    | PromiseBase<ARF, AJF, ANF, BRF, BJF, BNF, CRF, CJF, CNF, RRF, RJF, RNF>
                    | Thenable<ARF>
            )
            | null

        A function that is called when the Deferred is rejected.

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

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

      • propName: string
      • finalValue: number

      Returns Tween<TElement>

      <a href="https://gist.github.com/gnarf/54829d408993526fe475#animation-factory">https://gist.github.com/gnarf/54829d408993526fe475#animation-factory</a>

      1.8

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

      Parameters

      Returns this

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

      1.5

      <!doctype html>
      <html lang="en">
      <head>
      <meta charset="utf-8">
      <title>deferred.done demo</title>
      <script src="https://code.jquery.com/jquery-3.3.1.js"></script>
      </head>
      <body>

      <button>Go</button>
      <p>Ready...</p>

      <script>
      // 3 functions to call when the Deferred object is resolved
      function fn1() {
      $( "p" ).append( " 1 " );
      }
      function fn2() {
      $( "p" ).append( " 2 " );
      }
      function fn3( n ) {
      $( "p" ).append( n + " 3 " + n );
      }

      // Create a deferred object
      var dfd = $.Deferred();

      // Add handlers to be called when dfd is resolved
      dfd
      // .done() can take any number of functions or arrays of functions
      .done( [ fn1, fn2 ], fn3, [ fn2, fn1 ] )
      // We can chain done methods, too
      .done(function( n ) {
      $( "p" ).append( n + " we're done." );
      });

      // Resolve the Deferred object when the button is clicked
      $( "button" ).on( "click", function() {
      dfd.resolve( "and" );
      });
      </script>

      </body>
      </html>
    • Add handlers to be called when the Deferred object is rejected.

      Parameters

      Returns this

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

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

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

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

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

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

      <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
      });
    • 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.

      • OptionalprogressFilter: (
            t: Animation,
            u: number,
            v: number,
            ...s: never[],
        ) =>
            | ANP
            | PromiseBase<ARP, AJP, ANP, BRP, BJP, BNP, CRP, CJP, CNP, RRP, RJP, RNP>
            | Thenable<ANP>

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

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

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

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

      <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 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 );
      });
      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
      });
    • Utility method to filter and/or chain Deferreds.

      Type Parameters

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

      Parameters

      • doneFilter: null

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

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

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

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

      <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
      });
    • Utility method to filter and/or chain Deferreds.

      Type Parameters

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

      Parameters

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

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

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

      <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
      });
    • Add handlers to be called when the Deferred object generates progress notifications.

      Parameters

      • progressCallback: TypeOrArray<CallbackBase<Animation<TElement>, number, number, never>>

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

      • ...progressCallbacks: TypeOrArray<CallbackBase<Animation<TElement>, number, number, never>>[]

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

      Returns this

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

      1.7

    • Return a Deferred's Promise object.

      Type Parameters

      • TTarget extends object

      Parameters

      • target: TTarget

        Object onto which the promise methods have to be attached

      Returns Animation<TElement> & TTarget

      <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 interval
      setTimeout(function() {
      dfd.resolve( "hurray" );
      }, Math.floor( 400 + Math.random() * 2000 ) );

      // Reject after a random interval
      setTimeout(function() {
      dfd.reject( "sorry" );
      }, Math.floor( 400 + Math.random() * 2000 ) );

      // Show a "working..." message every half-second
      setTimeout(function working() {
      if ( dfd.state() === "pending" ) {
      dfd.notify( "working... " );
      setTimeout( working, 500 );
      }
      }, 1 );

      // Return the Promise so caller can't change the Deferred
      return dfd.promise();
      }

      // Attach a done, fail, and progress handler for the asyncEvent
      $.when( asyncEvent() ).then(
      function( status ) {
      alert( status + ", things are going well" );
      },
      function( status ) {
      alert( status + ", you fail this time" );
      },
      function( status ) {
      $( "body" ).append( status );
      }
      );
    • Return a Deferred's Promise object.

      Returns this

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

      1.5

      // Existing object
      var obj = {
      hello: function( name ) {
      alert( "Hello " + name );
      }
      },
      // Create a Deferred
      defer = $.Deferred();

      // Set object as a promise
      defer.promise( obj );

      // Resolve the deferred
      defer.resolve( "John" );

      // Use the object as a Promise
      obj.done(function( name ) {
      obj.hello( name ); // Will alert "Hello John"
      }).hello( "Karl" ); // Will alert "Hello Karl"
    • Determine the current state of a Deferred object.

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

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

      1.7

    • Stops the animation early, optionally going to the end.

      Parameters

      • gotoEnd: boolean

      Returns this

      <a href="https://gist.github.com/gnarf/54829d408993526fe475#animation-factory">https://gist.github.com/gnarf/54829d408993526fe475#animation-factory</a>

      1.8

    • 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

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

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

      1.8

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

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

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

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

      <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
      });
    • 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.

      • OptionalprogressFilter: (
            t: Animation,
            u: number,
            v: number,
            ...s: never[],
        ) =>
            | ANP
            | PromiseBase<ARP, AJP, ANP, BRP, BJP, BNP, CRP, CJP, CNP, RRP, RJP, RNP>
            | Thenable<ANP>

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

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

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

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

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

      1.8

      <!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>
      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
      });
    • Add handlers to be called when the Deferred object is resolved, rejected, or still in progress.

      Type Parameters

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

      Parameters

      • doneFilter: null

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

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

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

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

      <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
      });
    • Add handlers to be called when the Deferred object is resolved, rejected, or still in progress.

      Type Parameters

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

      Parameters

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

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

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

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