【发布时间】:2019-08-18 08:24:58
【问题描述】:
我有以下异步函数
export default async function getUserNames(id: string[]): Promise<string[]> {
let userNames: string[] = [];
// We do some stuff here like calling a service, etc...
return userNames;
}
在另一个打字稿文件上,我正在导入 getuserNames 函数并尝试像这样调用它:
const promiseResult = getUserNames(idList)
.then(result => {
return result;
})
.catch(error => {
return undefined;
});
if (promiseResult) {
// Do something else here.
}
但是,promiseResult 类型是 Promise 而不是我所期望的 string[]。如何调用 getuserNames 函数,完成后,将实际的 string[] 返回给 promiseResult 变量?
编辑 做这样的事情是否被接受?
let varB: string[];
const promiseResult = getUserNames(idList)
.then(result => {
varB = result;
})
.catch(error => {
varB = undefined;
});
if (varB) {
// Do something else here.
}
最后,请注意调用 getUserNames 的函数未定义为异步,我无法更改。
【问题讨论】:
标签: javascript node.js typescript promise