4
什麼是正確的使用方式Q承諾TypeScript 1.6如果它們是無效的?也就是說,它們不代表價值。例如:TypeScript和void Q承諾
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;
這只是一個錯誤在也許,或者我指出它錯了?打字(更新於本文撰寫2015年8月17日)?
嗯,我得到了同樣的錯誤:'(參數)解決:(val:any)=> void提供的參數不匹配調用目標的任何簽名您有任何機會在DefinitelyTyped的不同版本?或TypeScript 1.6? – drarmstr
我在節點env w/TS 1.6中使用'Q'我這樣引入Q:'import q = require('q');'並且像這樣使用它:'let d:Q.Deferred = q .defer();'你如何導入'Q'? –
Brocco
我使用TypeScript 1.6的Visual Studio 2015版本,沒有導入,只是一個腳本標記。也許VS是不同的.. – drarmstr