gpt4 book ai didi

javascript - 当从异步函数返回 Promise 时会发生什么?

转载 作者:行者123 更新时间:2023-11-28 14:24:17 26 4
gpt4 key购买 nike

如果函数返回 Promise 被标记为 async ,是否返回Promise<Promise<DoWorkResponse>>

tslint告诉我应该将函数标记为异步。我担心我以某种方式双重包装了 Lambda 的 promise 客户返回。

const doWork = async (event: MyEvent): Promise<DoWorkResponse> => {
return new Lambda({ region: process.env.region })
.invoke({
FunctionName: process.env.doWorkLambdaName,
InvocationType: 'RequestResponse',
LogType: 'Tail',
Payload: JSON.stringify(event),
})
.promise()
.then((response: Lambda.InvocationResponse) => {
if (response.StatusCode !== 200) {
const errorMessage = `Error occurred invoking DoWork Lambda. ${response}`;
console.error(errorMessage);
throw new Error(errorMessage);
}
return JSON.parse(response.Payload as string);
});
};

最佳答案

没关系,实际上,如果重新运行的值还不是 Promise,则异步函数会将返回值转换为 Promise。如果它已经是一个 promise ,它将原封不动地返回

关于javascript - 当从异步函数返回 Promise 时会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54134070/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com