封装 Fetch 请求

作者:渣渣辉2024.02.16 22:16浏览量:4

简介:在 JavaScript 中,Fetch API 是一个强大的工具,用于发送 HTTP 请求。然而,Fetch API 返回的是一个 Promise,这使得处理异步请求变得有些复杂。为了简化这个过程,我们可以封装 Fetch 请求,使其更易于使用。

在 JavaScript 中,Fetch API 是一个用于发送 HTTP 请求的强大工具。然而,Fetch API 返回的是一个 Promise,这使得处理异步请求变得有些复杂。为了简化这个过程,我们可以封装 Fetch 请求,使其更易于使用。下面是一个简单的封装示例:

  1. function fetchData(url, options = {}) {
  2. return new Promise((resolve, reject) => {
  3. fetch(url, options)
  4. .then(response => {
  5. if (!response.ok) {
  6. throw new Error(`HTTP error! Status: ${response.status}`);
  7. } else {
  8. resolve(response);
  9. }
  10. })
  11. .catch(error => reject(error));
  12. });
  13. }

使用上述函数,你可以像这样发送 GET 请求:

  1. fetchData('https://api.example.com/data')
  2. .then(response => response.json())
  3. .then(data => console.log(data))
  4. .catch(error => console.error(error));

你也可以向封装函数传递额外的选项,如请求方法、请求头和请求体:

  1. fetchData('https://api.example.com/data', {
  2. method: 'POST',
  3. headers: { 'Content-Type': 'application/json' },
  4. body: JSON.stringify({ key: 'value' })
  5. })
  6. .then(response => response.json())
  7. .then(data => console.log(data))
  8. .catch(error => console.error(error));

通过封装 Fetch API,我们可以简化异步请求的处理,并提供一个更易于使用的接口。你可以根据自己的需求进一步扩展和定制这个封装函数。