ES6 await和async是如何工作的

ES6 await和async是如何工作的

在本文中,我们将试图了解async和await在ES6中是如何工作的。让我们首先了解async和await是什么以及它们的用法,然后我们将参考一些示例,看看我们如何在普通函数中使用async和await。

Async和Await:

  • Async和Await都被认为是ES6提供的特殊关键字,用于执行一些异步数据操作。甚至可以使用这些关键字执行同步操作。
  • Async关键字与函数声明一起使用,指定该函数现在能够接受所有类型的自身的异步事件。
  • 换句话说,async关键字与函数(或方法)一起使用,使它们能够轻松接收所有类型的异步数据。
  • 使用async关键字的函数始终在最后返回一个承诺以及它的状态(进行中、已解决或已拒绝)。
  • Await在async函数内部使用,用于等待结果。
  • Await基本上等待要从该异步函数即将获取数据的源中获取的结果。
  • Await需要一点时间从源(如API)获取结果,然后与异步函数一起返回承诺形式的结果。
  • 如果使用Async与函数声明,也可以使用Await。

Async和Await的工作原理:

  • 当用户用async关键字声明一个函数时,它自动意味着这个函数或方法已准备好接收自身的所有异步事件。
  • 之后,我们通常使用await关键字等待结果,然后成功地获取它。
  • 然后,我们将获取的结果存储在某个随机变量中,然后根据需要显示结果或将其用于其他目的。
  • 使用Async/Await关键字的函数与其他普通函数相比,将会稍微保留结果一段时间。
  • 成功完成后,结果可以在代码内部用于进一步的数据操作,或者可以成功显示在浏览器控制台上。

现在,我们已经了解了在普通函数中使用Async/Await的详细信息,让我们看看以下一些示例,这些示例将最终帮助我们更好地理解这些概念。

示例1: 在此示例中,我们将在常规函数(或方法)中使用async和await。除此之外,我们还将显示一些其他结果。下面的输出将向我们展示一个事实,由于使用了await关键字,我们的结果将比我们显示的其他结果稍微延迟一点。

HTML

<script> 
    let dataDisplay = async () => { 
      let data = await "GeeksforGeeks"; 
      console.log(data); 
    }; 
    console.log(1); 
    dataDisplay(); 
    console.log("Hello"); 
</script>

输出:

1
Hello
GeeksforGeeks

示例2: 在这个示例中,我们将使用一个开源API,这是一个免费可用的API,可以被所有人访问。我们将从该API中获取结果,并在浏览器的控制台中显示。这个示例清楚地展示了在使用多个实时API时,我们将如何使用async/await。输出将显示在下面的图像中。

HTML

<script> 
    async function fetchMethod() { 
      let response = await fetch( 
        "https://reqres.in/api/products/3"); 
      let data = await response.json(); 
      console.log(data); 
    } 
    fetchMethod(); 
</script>

输出:

ES6 await和async是如何工作的

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程