如何使用 Express.js 访问外部 API

在前端开发中,我们经常需要访问外部的 API 来获取数据或者完成一些操作。而 Express.js 是一款非常流行的 Node.js 框架,可以帮助我们轻松地构建 Web 应用程序。本文将介绍如何使用 Express.js 来访问外部 API。

安装 Express.js

首先,我们需要安装 Express.js。使用以下命令来安装 Express.js:

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

使用 Axios 发送请求

在 Express.js 中,我们可以使用 Axios 来发送 HTTP 请求。Axios 是一个流行的 Promise based HTTP 客户端,可以在浏览器和 Node.js 中使用。我们需要先安装 Axios:

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

然后,在 Express.js 中使用 Axios 发送请求:

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

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

上面的代码使用 Axios 发送一个 GET 请求到 https://jsonplaceholder.typicode.com/todos/1,并在控制台打印响应数据。如果请求失败,将会打印错误信息。

使用 Async/Await

使用 Promise 可以让我们更好地处理异步代码,但是 Promise 链式调用可能会让代码变得混乱。在 ES2017 中,引入了 Async/Await,可以让异步代码更加清晰易读。下面是使用 Async/Await 发送请求的示例代码:

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

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

----------

上面的代码使用 Async/Await 发送一个 GET 请求到 https://jsonplaceholder.typicode.com/todos/1,并在控制台打印响应数据。如果请求失败,将会打印错误信息。

使用中间件

在 Express.js 中,我们可以使用中间件来处理请求。中间件是一个函数,可以访问请求对象、响应对象和下一个中间件函数。我们可以使用中间件来添加一些额外的功能,比如验证请求、处理错误等。下面是一个使用中间件发送请求的示例代码:

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

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

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

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

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

上面的代码使用中间件发送一个 GET 请求到 https://jsonplaceholder.typicode.com/todos/1,并将响应数据保存到请求对象的 data 属性中。然后,在路由处理函数中,我们可以访问请求对象的 data 属性来获取响应数据。

总结

本文介绍了如何使用 Express.js 访问外部 API。我们使用 Axios 发送 HTTP 请求,并使用 Promise 和 Async/Await 处理异步代码。我们还介绍了如何使用中间件来处理请求。希望本文对你有所帮助!

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