如何使用 Q.Promise<string> 作为字符串?
How to use Q.Promise<string> as string?
我有函数 returning 字符串 Q.Promise
module test {
export function promiseString (): Q.Promise<string> {
var deferred = Q.defer<string>();
deferred.resolve('someMessage');
return deferred.promise;
}
}
如何将 return 值用作字符串?
选项#1:
Q.fcall(promiseString).then(function (message: string) {
// compilation error about incompatible parameters
});
选项#2:
Q.fcall(promiseString).then(function (promise: Q.Promise<string>) {
console.log(typeof promise); // output string
// but i can't use promise as string further
});
如果函数总是 returns 承诺(延迟或其他方式),则您不必使用 Q.fcall
调用它。只需致电:
promiseString().then(...)
我有函数 returning 字符串 Q.Promise
module test {
export function promiseString (): Q.Promise<string> {
var deferred = Q.defer<string>();
deferred.resolve('someMessage');
return deferred.promise;
}
}
如何将 return 值用作字符串?
选项#1:
Q.fcall(promiseString).then(function (message: string) {
// compilation error about incompatible parameters
});
选项#2:
Q.fcall(promiseString).then(function (promise: Q.Promise<string>) {
console.log(typeof promise); // output string
// but i can't use promise as string further
});
如果函数总是 returns 承诺(延迟或其他方式),则您不必使用 Q.fcall
调用它。只需致电:
promiseString().then(...)