繁体   English   中英

如何在Typescript中扩展对象属性的类?

[英]How do you extend the class of an object's property in Typescript?

在Angular 1应用程序上工作,并尝试通过'abort'函数扩展我的承诺。 当我尝试将中止添加到deferred.promise ,显然abort does not exist on type IPromise<{}>错误abort does not exist on type IPromise<{}>

我如何告诉该对象的属性是一个新的内联类,以便可以这样做?

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

有可能

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

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

或更好,

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

const deferred = <IAbortableDeferred<any>>$q.defer();
deferred.promise.abort = function() { ... };

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM