Typescript 如何使用Q.Promise<;字符串>;作为字符串?
我有返回字符串Q的函数Typescript 如何使用Q.Promise<;字符串>;作为字符串?,typescript,promise,q,Typescript,Promise,Q,我有返回字符串Q的函数 module test { export function promiseString (): Q.Promise<string> { var deferred = Q.defer<string>(); deferred.resolve('someMessage'); return deferred.promise; } } 选项2: Q.fcall(promiseString)
module test {
export function promiseString (): Q.Promise<string> {
var deferred = Q.defer<string>();
deferred.resolve('someMessage');
return deferred.promise;
}
}
选项2:
Q.fcall(promiseString).then(function (message: string) {
// compilation error about incompatible parameters
});
Q.fcall(promiseString).then(function (promise: Q.Promise<string>) {
console.log(typeof promise); // output string
// but i can't use promise as string further
});
Q.fcall(promiseString)。然后(函数(promise:Q.promise){
console.log(承诺的类型);//输出字符串
//但我不能再把承诺当作绳子了
});
如果函数总是返回承诺(延迟或其他),则不必使用Q.fcall调用它。简单地说:
promiseString().then(...)
如果函数总是返回承诺(延迟或其他),则不必使用Q.fcall
调用它。简单地说:
promiseString().then(...)
不要使用Q.fcall
,这是用于回调的!第二个选项也应该给出一个类型错误-那么
回调参数永远都不是承诺。不要使用Q.fcall
,这是用于回调的!第二个选项也应该给出一个类型错误-,那么
回调参数永远不会被接受。