gpt4 book ai didi

javascript - 在多等待语句中处理错误的正确方法

转载 作者:行者123 更新时间:2023-11-29 20:51:44 25 4
gpt4 key购买 nike

在我的代码中我有这条语句(按预期工作):

async initializeConfiguration(fileName, projectPath) {
let encryptedConfigurationFile = await this.getEncryptedConfigurationFromS3(fileName);
let decryptedConfigurationFile = await this.decryptConfigurationObject(encryptedConfigurationFile);

return await this.writeConfigurationObjectToFileSystem(fileName, decryptedConfigurationFile, projectPath);
}

我想正确处理可能来自任何等待操作的任何可能的错误。我是这样想的:

try {
let encryptedConfigurationFile = await this.getEncryptedConfigurationFromS3(fileName);
let decryptedConfigurationFile = await this.decryptConfigurationObject(encryptedConfigurationFile);

return await this.writeConfigurationObjectToFileSystem(fileName, decryptedConfigurationFile, projectPath);
} catch (error) {
console.error(`Something bad happened: ${error}`);
}

但我不确定。一次捕获是否可以覆盖所有三个等待?

最佳答案

是的,它会,就像 try/catch 在非 async< 中围绕多个非 await 语句一样 函数处理所有这些语句的异常。


请注意,您更新后的代码(如果我假设它仍在 initializeConfiguration 内)将错误转换为具有 undefined 的解决方案,这使得使用 initializeConfiguration 变得困难 除非没有任何东西使用它的结果。如果某些东西确实使用了它的结果,那么就在那里处理错误,而不是在 initializeConfiguration 本身。

关于javascript - 在多等待语句中处理错误的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51499576/

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