2017-03-21 6 views
0

Angular 1アプリケーションで作業し、私の約束を 'abort'関数で拡張しようとしています。 deferred.promiseにアボートを追加しようとすると、明らかにabort does not exist on type IPromise<{}>というエラーが発生します。Typescriptでオブジェクトのプロパティのクラスをどのように拡張しますか?

私はこれを行うためにこのオブジェクトのプロパティを新しいクラスのインラインにする方法を教えてください。それは

interface IAbortablePromise<T> extends ng.IPromise<T> { 
    abort:() => void; 
} 

(deferred.promise as IAbortablePromise<any>).abort = function() { ... }; 

または改善することができます

deferred.promise.abort = function() { 
    deferred.resolve(); 
    }; 

答えて

1

interface IAbortableDeferred<T> extends ng.IDeferred<T> { 
    promise: IAbortablePromise<T>; 
} 

const deferred = <IAbortableDeferred<any>>$q.defer(); 
deferred.promise.abort = function() { ... }; 
関連する問題