如果它们无效,那么使用TypeScript 1.6的Q promises的正确方法是什么?也就是说,它们并不代表价值.例如:
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 Q.Promise<any>((resolve, reject) => {
resolve();
}