:Typescriptインタフェースファイルで戻り値の型を表現するにはどうすればよいですか?次のコードの違いは何ですか
changeName(): ng.IPromise<any>;
と
changeName:() => ng.IPromise<any>;
は、私は1つを理解するには、戻り値の型であるが、私は最初の1程度混乱しています。
ここでは関数の本体です:
changeName =(): ng.IPromise<any> => {
var self = this;
self.chnAction = "PREFERENCES.CHANGE_NAME.SUBMITTING_BUTTON_TEXT";
self.chnErrorMessage = null;
return self.uss.changeName(
self.chnNewFirstName,
self.chnNewLastName)
.then(
(response: ng.IHttpPromiseCallbackArg<any>): any => {
self.chnAction = "PREFERENCES.CHANGE_NAME.SUBMITTED_BUTTON_TEXT";
self.chnNewFirstName = '';
self.chnNewLastName = '';
self.chnErrorMessage = null;
self.logout();
return this.$state.go('home.auth', { content: 'change_name_success' });
},
(error: ng.IHttpPromiseCallbackArg<any>): ng.IPromise<any> => {
if (error.status === 500) {
self.chnErrorMessage = 'AUTH_SERVICE.UNABLE_TO_CONTACT_SERVER';
} else {
var errors: string[] = [];
Object.keys(error.data.modelState).forEach((key) => {
errors.push.apply(errors, error.data.modelState[key]);
});
self.chnErrorMessage = errors[0];
self.chnErrorMessages = errors;
self.chnAction = "PREFERENCES.CHANGE_NAME.SUBMIT_BUTTON_TEXT";
}
return this.$q.reject(error);
});
};
最初のものは、インタフェースのメソッドである、上の第二のthis'任意横切って運ぶ 'ので、あなたは今、' '代わりself'のthis'全体を使用することができる –
インターフェースの(型関数の)特性であります'=>'の矢印機能を使用します。また、メソッドとメソッドのプロパティの違いはありません(私の答えを見てください)。 –