Merge pull request #797 from Hudon/master

AngularJS: give an interface to $http callback functions
This commit is contained in:
Boris Yankov
2013-07-24 08:06:34 -07:00
2 changed files with 20 additions and 2 deletions
+14
View File
@@ -137,6 +137,20 @@ module HttpAndRegularPromiseTests {
$scope.letters = letters;
});
}
// Test that we can pass around a type-checked success/error Promise Callback
var anotherController: Function = ($scope: SomeControllerScope, $http:
ng.IHttpService, $q: ng.IQService) => {
var buildFooData: Function = () => 42;
var doFoo: Function = (callback: ng.IHttpPromiseCallback) => {
$http.get('/foo', buildFooData())
.success(callback);
}
doFoo((data) => console.log(data));
}
}
// Test for AngularJS Syntac
+6 -2
View File
@@ -531,6 +531,10 @@ declare module ng {
transformResponse?: any;
}
interface IHttpPromiseCallback {
(data: any, status: number, headers: (headerName: string) => string, config: IRequestConfig): any;
}
interface IHttpPromiseCallbackArg {
data?: any;
status?: number;
@@ -539,8 +543,8 @@ declare module ng {
}
interface IHttpPromise extends IPromise {
success(callback: (data: any, status: number, headers: (headerName: string) => string, config: IRequestConfig) => any): IHttpPromise;
error(callback: (data: any, status: number, headers: (headerName: string) => string, config: IRequestConfig) => any): IHttpPromise;
success(callback: IHttpPromiseCallback): IHttpPromise;
error(callback: IHttpPromiseCallback): IHttpPromise;
then(successCallback: (response: IHttpPromiseCallbackArg) => any, errorCallback?: (response: IHttpPromiseCallbackArg) => any): IPromise;
}