JavaScript 如何异步生成器函数中抛出错误

JavaScript 如何异步生成器函数中抛出错误

在本文中,我们将尝试通过理论和编码示例来理解如何在JavaScript中的同步(简称为“异步”)生成器函数中抛出错误。

让我们首先看一下以下部分,其中将展示声明异步生成器函数的语法。

语法:

async function * function_name () {
    ...
}

我们将学习关于异步生成器函数声明的内容,并了解如何在异步生成器函数中抛出错误。

示例1: 在这个示例中,我们将使用*关键字来抛出一个错误,使用一个包含用户根据需求传入的错误消息的错误对象,然后我们将使用catch语句来捕获这个错误。

Javascript

<script> 
    async function* generator() { 
        throw new Error("Error thrown from an "
            + "async generator function....!!!"); 
    } 
  
    let iterator = generator(); 
  
    iterator 
        .next() 
        .then((result) => console.log(result.value)) 
        .catch((error) => console.log(error.message)); 
</script>

输出:

Error thrown from an async generator function....!!!

示例2: 在这个示例中,我们将使用 yield * 关键字,通过它我们将在代码的后半部分捕获错误。此外,我们将声明一个状态为rejected的promise,其中包含在reject()方法中的错误消息,然后我们将使用catch语句捕获它。

JavaScript

<script> 
    async function* generator() { 
        yield new Promise((resolve, reject) => { 
            reject("Error thrown from an async "
                + "generator function....!!!"); 
        }); 
    } 
  
    let iterator = generator(); 
  
    iterator 
        .next() 
        .then((result) => console.log(result.value)) 
        .catch((error) => console.log(error)); 
</script>

输出:

Error thrown from an async generator function....!!!

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程