mirror of
https://github.com/zhigang1992/DefinitelyTyped.git
synced 2026-04-23 21:00:01 +08:00
Merge pull request #851 from anchann/angulartyping
Angular: typing promises, deferreds
This commit is contained in:
@@ -29,7 +29,7 @@ angular.module('http-auth-interceptor', [])
|
||||
|
||||
this.$get = ['$rootScope', '$injector', <any>function ($rootScope: ng.IScope, $injector: ng.auto.IInjectorService) {
|
||||
var $http: ng.IHttpService; //initialized later because of circular dependency problem
|
||||
function retry(config: ng.IRequestConfig, deferred: ng.IDeferred) {
|
||||
function retry(config: ng.IRequestConfig, deferred: ng.IDeferred<any>) {
|
||||
$http = $http || $injector.get('$http');
|
||||
$http(config).then(function (response) {
|
||||
deferred.resolve(response);
|
||||
@@ -118,17 +118,17 @@ module HttpAndRegularPromiseTests {
|
||||
$scope.person = response.data;
|
||||
});
|
||||
|
||||
var aPromise: ng.IPromise = $q.when({ firstName: "Jack", lastName: "Sparrow" });
|
||||
var aPromise: ng.IPromise<Person> = $q.when({ firstName: "Jack", lastName: "Sparrow" });
|
||||
aPromise.then((person: Person) => {
|
||||
$scope.person = person;
|
||||
});
|
||||
|
||||
var bPromise: ng.IPromise = $q.when(42);
|
||||
var bPromise: ng.IPromise<number> = $q.when(42);
|
||||
bPromise.then((answer: number) => {
|
||||
$scope.theAnswer = answer;
|
||||
});
|
||||
|
||||
var cPromise: ng.IPromise = $q.when(["a", "b", "c"]);
|
||||
var cPromise: ng.IPromise<string[]> = $q.when(["a", "b", "c"]);
|
||||
cPromise.then((letters: string[]) => {
|
||||
$scope.letters = letters;
|
||||
});
|
||||
|
||||
26
angularjs/angular.d.ts
vendored
26
angularjs/angular.d.ts
vendored
@@ -239,8 +239,8 @@ declare module ng {
|
||||
// see http://docs.angularjs.org/api/ng.$timeout
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
interface ITimeoutService {
|
||||
(func: Function, delay?: number, invokeApply?: boolean): IPromise;
|
||||
cancel(promise: IPromise): boolean;
|
||||
(func: Function, delay?: number, invokeApply?: boolean): IPromise<any>;
|
||||
cancel(promise: IPromise<any>): boolean;
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
@@ -399,20 +399,20 @@ declare module ng {
|
||||
// see http://docs.angularjs.org/api/ng.$q
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
interface IQService {
|
||||
all(promises: IPromise[]): IPromise;
|
||||
defer(): IDeferred;
|
||||
reject(reason?: any): IPromise;
|
||||
when(value: any): IPromise;
|
||||
all(promises: IPromise<any>[]): IPromise<any[]>;
|
||||
defer<T>(): IDeferred<T>;
|
||||
reject(reason?: any): IPromise<void>;
|
||||
when<T>(value: T): IPromise<T>;
|
||||
}
|
||||
|
||||
interface IPromise {
|
||||
then(successCallback: (promiseValue: any) => any, errorCallback?: (reason: any) => any): IPromise;
|
||||
interface IPromise<T> {
|
||||
then(successCallback: (promiseValue: T) => any, errorCallback?: (reason: any) => any): IPromise<any>;
|
||||
}
|
||||
|
||||
interface IDeferred {
|
||||
resolve(value?: any): void;
|
||||
interface IDeferred<T> {
|
||||
resolve(value?: T): void;
|
||||
reject(reason?: any): void;
|
||||
promise: IPromise;
|
||||
promise: IPromise<T>;
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
@@ -548,10 +548,10 @@ declare module ng {
|
||||
config?: IRequestConfig;
|
||||
}
|
||||
|
||||
interface IHttpPromise<T> extends IPromise {
|
||||
interface IHttpPromise<T> extends IPromise<T> {
|
||||
success(callback: IHttpPromiseCallback<T>): IHttpPromise;
|
||||
error(callback: IHttpPromiseCallback<T>): IHttpPromise;
|
||||
then(successCallback: (response: IHttpPromiseCallbackArg<T>) => any, errorCallback?: (response: IHttpPromiseCallbackArg<T>) => any): IPromise;
|
||||
then(successCallback: (response: IHttpPromiseCallbackArg<T>) => any, errorCallback?: (response: IHttpPromiseCallbackArg<T>) => any): IPromise<any>;
|
||||
}
|
||||
|
||||
interface IHttpProvider extends IServiceProvider {
|
||||
|
||||
Reference in New Issue
Block a user