JavaScript 捕获多个异步错误

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....!!

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程