我无法理解JQueryPromise的类型。 我希望我的承诺属于void类型,但是当接口定义接受一个void时,我不知道如何返回/转换与接口签名匹配的promise。当我编译时,我收到错误:
呼叫类型的签名'()=> JQueryPromise< {}>'和'()=> JQueryPromise'不相容。
以下是代码示例:
module Sample {
export interface Ifoo {
bar: () => JQueryPromise<void>;
}
export class fooClass implements Ifoo {
bar() {
var result = $.Deferred();
// logic
return result.promise();
}
}
}
我做错了什么;或者我能做些什么呢?
谢谢!
-John
答案 0 :(得分:14)
创建延期时使用<void>
:
module Sample {
export interface Ifoo {
bar: () => JQueryPromise<void>;
}
export class fooClass implements Ifoo {
bar() {
var result = $.Deferred<void>();
// logic
return result.promise();
}
}
}