/// //// interface IPromise { //// then(success: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void ): IPromise; //// then(success: (value: T) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void ): IPromise; //// then(success: (value: T) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void ): IPromise; //// then(success: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void ): IPromise; //// done? (success: (value: T) => any, error?: (error: any) => any, progress?: (progress: any) => void ): void; //// } //// var p1: IPromise; //// var p/*1*/2 = p1.then(function (x/*2*/x) { //// return xx; //// }); //// p2.then(function (x/*3*/x) { //// } ); verify.quickInfos({ 1: "var p2: IPromise", 2: "(parameter) xx: string", 3: "(parameter) xx: string" });