我有返回字符串Q的函数。Promise
module test {
export function promiseString (): Q.Promise<string> {
var deferred = Q.defer<string>();
deferred.resolve('someMessage');
return deferred.promise;
}
}
如何将返回值用作字符串?
选项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
});
如果函数总是返回promise(递延或其他),则不必使用Q.fcall
调用它。只需拨打:
promiseString().then(...)