在 Express.js 应用程序中使用 Async / Await 处理异步请求

随着 Web 应用程序的复杂性增加,异步编程变得越来越普遍。在 Node.js 中,回调函数是处理异步代码的传统方式,但是它们往往会导致回调地狱和难以维护的代码。ES6 引入了 Promise 和 async / await,使异步编程变得更加容易和简洁。在本文中,我们将介绍如何在 Express.js 应用程序中使用 async / await 处理异步请求。

什么是 Async / Await?

async / await 是 ES7 中的新语法,它使异步编程更加容易和直观。async 函数返回一个 Promise 对象,await 表达式可以在 async 函数中暂停执行,直到 Promise 对象被解决或拒绝。这使得异步代码看起来像同步代码,从而使代码更加易于阅读和理解。

在 Express.js 应用程序中使用 Async / Await

在 Express.js 应用程序中,我们经常需要处理异步请求,例如从数据库中检索数据或调用外部 API。在使用 async / await 处理异步请求时,我们可以将异步函数包装在一个 async 函数中,并使用 await 表达式等待异步函数返回结果。

安装依赖项

在开始之前,我们需要安装以下依赖项:

  • express:用于创建 Web 应用程序。
  • mongoose:用于连接 MongoDB 数据库和执行数据库操作。
  • axios:用于发出 HTTP 请求。
--- ------- ------- -------- -----

连接 MongoDB 数据库

在我们的 Express.js 应用程序中,我们将使用 MongoDB 数据库存储数据。我们可以使用 mongoose 库来连接数据库和执行数据库操作。在 app.js 文件中,我们可以编写以下代码来连接数据库:

----- -------- - --------------------

--------------------------------------------- -
  ---------------- -----
  ------------------- -----
  --------------- -----
  ----------------- ------
---------- -- -
  ---------------------- -- ----------
-------------- -- -
  -------------------
---

处理异步请求

在我们的 Express.js 应用程序中,我们可以使用 async / await 处理异步请求。例如,我们可以编写以下代码来从数据库中检索数据:

----- ------- - -------------------
----- --- - ----------
----- -------- - --------------------
----- ---- - -------------------------

----------------- ----- ----- ---- -- -
  --- -
    ----- ----- - ----- ------------
    ----------------
  - ----- ----- -
    -------------------
    ---------------------- -------- ------- ------ ---
  -
---

---------------- -- -- -
  ------------------- ------- -- ---- -------
---

在上面的代码中,我们使用 async / await 处理异步请求。我们使用 try-catch 语句来捕获可能发生的错误,并在发生错误时返回适当的错误响应。

我们还可以使用 async / await 处理外部 API 的请求。例如,我们可以编写以下代码来从 GitHub API 中检索用户信息:

----- ------- - -------------------
----- --- - ----------
----- ----- - -----------------

--------------------------- ----- ----- ---- -- -
  --- -
    ----- -------- - ----- -----------------------------------------------------------------
    ----- ---- - --------------
    ---------------
  - ----- ----- -
    -------------------
    ---------------------- -------- ------- ------ ---
  -
---

---------------- -- -- -
  ------------------- ------- -- ---- -------
---

在上面的代码中,我们使用 async / await 处理外部 API 的请求。我们使用 axios 库发出 HTTP 请求,并使用 await 表达式等待响应。我们还使用 try-catch 语句来捕获可能发生的错误,并在发生错误时返回适当的错误响应。

总结

在本文中,我们介绍了如何在 Express.js 应用程序中使用 async / await 处理异步请求。我们看到了如何连接 MongoDB 数据库和执行数据库操作,以及如何处理从数据库和外部 API 中检索数据的异步请求。async / await 使异步编程变得更加容易和直观,使我们的代码更加易于阅读和理解。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/65ced6aaadd4f0e0ff82e58d