JavaScript 捕获多个异步错误
在本文中,我们将尝试通过一些编码示例了解如何在JavaScript中捕获多个异步错误。
首先,让我们了解如何通过以下所示的语法创建async
函数(以及使用await
关键字),第一个语法是通过普通函数声明,第二个语法是通过箭头函数声明。
语法: 以下是我们使用普通函数声明声明异步函数时使用的第一个语法(基本语法)。
async function function_name () {
await data();
...
// do something more as per need...
}
另一种语法,我们可以使用(较好的一种)是,如果我们想选择箭头函数声明(这是最佳实践)。
let function_name = async () => {
await data();
...
// do something more as per need...
}
现在,在理解了上述各种语法之后,我们必须看一下以下部分,其中包含一些编码示例,这些示例将帮助我们更好地了解我们的任务(捕获多个异步错误)的实现方式,并且更加高效(这里我们使用了箭头函数语法,因为它是最佳实现方式,用户也可以使用普通函数声明技术实现):
示例1:
在这个示例中,我们将创建两个生成异步错误的函数(使用promise和setTimeout计时器函数),并将传入的promise状态设置为rejected,然后我们将使用try/catch块实现来捕获错误。
Javascript
<script>
let first_async_error = () => {
return new Promise((resolve, reject) => {
reject("Something went wrong....!!");
});
};
let second_async_error = () => {
return new Promise((resolve, reject) => {
reject("Error 404....!!");
});
};
let catchAllErrors = async () => {
try {
await first_async_error();
} catch (error) {
console.log("First Error: " + error);
}
try {
await second_async_error();
} catch (error) {
console.log("Second Error: " + error);
}
};
catchAllErrors();
</script>
输出:
First Error: Something went wrong....!!
Second Error: Error 404....!!
示例2: 在这个示例中,我们会考虑之前的示例中的代码函数,它们实际上生成了异步错误,但是在捕捉它们时,我们会将catch()方法放在调用它们的变量后面,然后我们会输出结果,结果将是错误信息。
JavaScript
<script>
let first_async_error = () => {
return new Promise((resolve, reject) => {
reject("Something went wrong....!!");
});
};
let second_async_error = () => {
return new Promise((resolve, reject) => {
reject("Error 404....!!");
});
};
let catchAllErrors = async () => {
let result_1 = await first_async_error().catch((error) => {
return "First Error: " + error;
});
let result_2 = await second_async_error().catch((error) => {
return "Second Error: " + error;
});
console.log(result_1);
console.log(result_2);
};
catchAllErrors();
</script>
输出结果:
First Error: Something went wrong....!!
Second Error: Error 404....!!