mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2026-07-10 04:00:10 +00:00
Merge pull request #1289 from johnnyreilly/master
jQuery:Added generic always/done/fail/progress
This commit is contained in:
@@ -898,6 +898,18 @@ function test_dblclick() {
|
||||
}
|
||||
|
||||
function test_deferred() {
|
||||
|
||||
function returnPromise(): JQueryPromise<(data: { MyString: string; MyNumber: number; }, textStatus: string, jqXHR: JQueryXHR) => any> {
|
||||
return $.ajax("test.php");
|
||||
}
|
||||
var x = returnPromise();
|
||||
x.done((data, textStatus, jqXHR) => {
|
||||
var myNumber: number = data.MyNumber;
|
||||
var myString: string = data.MyString;
|
||||
var theTextStatus: string = textStatus;
|
||||
var thejqXHR: JQueryXHR = jqXHR;
|
||||
});
|
||||
|
||||
$.get("test.php").always(function () {
|
||||
alert("$.get completed with success or error callback arguments");
|
||||
});
|
||||
@@ -2315,7 +2327,7 @@ function test_EventIsCallable() {
|
||||
}
|
||||
|
||||
$.when($.ajax("/my/page.json")).then((a,b,c) => a.asdf); // is type JQueryPromise<any>
|
||||
$.when("asdf", "jkl;").done(x => x.length, x=> x.length);
|
||||
$.when("asdf", "jkl;").done((x,y) => x.length + y.length, (x,y) => x.length + y.length);
|
||||
|
||||
var f1 = $.when("fetch"); // Is type JQueryPromise<string>
|
||||
var f2: JQueryPromise<string[]> = f1.then(s => [s, s]);
|
||||
|
||||
12
jquery/jquery.d.ts
vendored
12
jquery/jquery.d.ts
vendored
@@ -94,6 +94,12 @@ interface JQueryGenericPromise<T> {
|
||||
Interface for the JQuery promise, part of callbacks
|
||||
*/
|
||||
interface JQueryPromise<T> {
|
||||
// Generic versions of callbacks
|
||||
always(...alwaysCallbacks: T[]): JQueryPromise<T>;
|
||||
done(...doneCallbacks: T[]): JQueryPromise<T>;
|
||||
fail(...failCallbacks: T[]): JQueryPromise<T>;
|
||||
progress(...progressCallbacks: T[]): JQueryPromise<T>;
|
||||
|
||||
always(...alwaysCallbacks: any[]): JQueryPromise<T>;
|
||||
done(...doneCallbacks: any[]): JQueryPromise<T>;
|
||||
fail(...failCallbacks: any[]): JQueryPromise<T>;
|
||||
@@ -118,6 +124,12 @@ interface JQueryPromise<T> {
|
||||
Interface for the JQuery deferred, part of callbacks
|
||||
*/
|
||||
interface JQueryDeferred<T> extends JQueryPromise<T> {
|
||||
// Generic versions of callbacks
|
||||
always(...alwaysCallbacks: T[]): JQueryDeferred<T>;
|
||||
done(...doneCallbacks: T[]): JQueryDeferred<T>;
|
||||
fail(...failCallbacks: T[]): JQueryDeferred<T>;
|
||||
progress(...progressCallbacks: T[]): JQueryDeferred<T>;
|
||||
|
||||
always(...alwaysCallbacks: any[]): JQueryDeferred<T>;
|
||||
done(...doneCallbacks: any[]): JQueryDeferred<T>;
|
||||
fail(...failCallbacks: any[]): JQueryDeferred<T>;
|
||||
|
||||
Reference in New Issue
Block a user