TypeScript 和 void Q promises
TypeScript and void Q promises
如果 Q promises 无效,TypeScript 1.6 的正确使用方法是什么?也就是说,它们不代表一个值。例如:
return Q.Promise<void>((resolve,reject) => {
resolve();
}
或
let deferred = Q.defer<void>();
deferred.resolve();
return deferred.promise;
调用resolve()
得到错误:
Supplied parameters do not match any signature of call target
(parameter) resolve: (val: void | Q.IPromise<void>) => void
注意,以下作品:
let deferred = Q.defer<string>();
deferred.resolve("Hello World");
return deferred.promise;
这可能只是 DefinitelyTyped 输入中的错误(截至撰写本文时已于 2015 年 8 月 17 日更新),还是我指定错误?
如果没有return值或者我不关心return值,我一直在用...
return Q.Promise<any>((resolve, reject) => {
resolve();
}
对于带有 TS1.6 的 Q,我最终使用了:
return Q.Promise<void>((resolve,reject) => {
resolve(null);
}
如果 Q promises 无效,TypeScript 1.6 的正确使用方法是什么?也就是说,它们不代表一个值。例如:
return Q.Promise<void>((resolve,reject) => {
resolve();
}
或
let deferred = Q.defer<void>();
deferred.resolve();
return deferred.promise;
调用resolve()
得到错误:
Supplied parameters do not match any signature of call target
(parameter) resolve: (val: void | Q.IPromise<void>) => void
注意,以下作品:
let deferred = Q.defer<string>();
deferred.resolve("Hello World");
return deferred.promise;
这可能只是 DefinitelyTyped 输入中的错误(截至撰写本文时已于 2015 年 8 月 17 日更新),还是我指定错误?
如果没有return值或者我不关心return值,我一直在用...
return Q.Promise<any>((resolve, reject) => {
resolve();
}
对于带有 TS1.6 的 Q,我最终使用了:
return Q.Promise<void>((resolve,reject) => {
resolve(null);
}