Divi WordPress Theme

JavaScript,HTML和CSS是关键的编程语言。 网络上几乎每个站点都使用JavaScript,因此,如果您想成为一名全面的开发人员,那么了解其本机应用程序编程接口(API)至关重要。

在本文中,我们将向您介绍Fetch API及其功能。 然后,我们将讨论它与WordPress REST API的不同之处,并说明何时在WordPress开发中使用它。

让我们跳进去吧!

Fetch API简介

与所有API一样,Fetch API用于在应用程序之间发送和接收数据。 顾名思义,它主要用于使用HTTP请求“获取”资源,然后对其进行修改。 这样,它就像XMLHttpRequest一样工作。

但是,Fetch API通过使用更干净的代码来实现相同的最终结果,对该方法进行了改进。 它通过以“承诺”的形式返回数据来做到这一点,这是一种简化的,更具可读性的解决方案,它替换了回调,以使开发人员能够按特定顺序执行JavaScript函数。

本质上,一个承诺声明某个动作最终将发生,并提供有关当该动作下一步将发生什么的信息。 一个承诺总是“已解决”(导致响应)或“被拒绝”(导致错误)。

如果诺言得以兑现, 。然后 处理程序执行指定的操作。 如果承诺被拒绝,则可能会显示错误消息,而不是使用 。抓住 功能。 由于JavaScript是异步的,因此所有这些操作都在后台发生,而不会阻止页面其余部分的渲染。

因此,当我们将所有这些放在一起时,我们将获得一个API,该API可以按承诺检索资源。 然后,如果这些承诺得到解决,则返回响应对象;如果拒绝了它们,则返回错误。 您也可以添加 。然后 或者 。抓住 处理程序,以立即采取其他行动来跟踪响应或错误。

这是一个简单的示例:假设您使用Fetch API检索帖子列表。 将发布数据作为承诺返回,该承诺被解决并生成响应对象。 接下来,您使用 。然后 处理程序,以JSON形式返回该响应,您可以在网站上显示该响应。 如您所见,该API具有很大的潜力,尤其是对于特定的应用程序。

提取API与WordPress REST API有何不同

简而言之,除了它们都是API之外,Fetch API和WordPress REST API在几乎所有方面都不同。 一些主要区别包括:

  • Fetch API按承诺返回数据,而WordPress API按JSON返回数据。
  • 同样,您必须使用 。然后 处理程序,将Fetch API返回的数据转换为JSON。
  • 您可以通过Fetch API以JSON以外的形式返回数据。
  • 为了在WordPress REST API中使用承诺,您需要在调用API之后自行编写承诺。

如果要在WordPress中使用Fetch API,则只需在JavaScript代码中调用fetch函数。 在该功能后面加上一个 。然后 处理程序以访问内容。 然后,您可以将其显示在您的网站或Web应用程序中。

您可能想在REST API上使用Fetch API的2次

通过使用WordPress REST API,您可能几乎可以完成对Fetch API可能要做的任何事情。 但是,Fetch API确实提供了一些方便的功能,这些功能无法通过本机WordPress API进行访问。 让我们看两个例子。

1.返回不是JSON的响应

如前所述,当您使用WordPress REST API时,默认情况下它将返回JSON数据。 但是,有时您可能需要其他形式的回复。 为了使之与WordPress API兼容,您需要将JSON转换为所需的格式。

另一方面,Fetch API可以返回几种不同格式的数据。 尽管JSON可能是Fetch API响应的最流行形式,但是您也可以使用它以多种其他格式返回响应,包括XML,HTML,纯文本和Blob。

为此,您只需更改在 。然后 用于访问已检索内容的处理程序。 例如,这是一个非常简化的Fetch API调用,然后是 。然后 返回响应为JSON的处理程序:

fetch('https://jsonplaceholder.typicode.com/todos')
  .then(response => response.json())
  .then(data => console.log(JSON.stringify(data)))

因此,如果您想改为以XML形式返回数据,则可以使用 响应文本 代替 response.json。 这比进行转换要容易得多 使用WordPress REST API检索数据。

2.使用承诺以特定顺序执行功能

此外,如果您想在对WordPress REST API调用的响应中使用promise,则改用Fetch API可能会更有效。 使用WordPress API,您将需要在请求和响应之后编写自己的承诺,而Fetch API将为您返回承诺。

如果您正在使用API​​来请求数据,然后又想使用JavaScript函数对该数据进行其他操作,则Fetch API可能是您的最佳选择。 例如,考虑以下示例:

var eventsURL = "https://api.seatgeek.com/2/events?q=amway-center&client_id=MTI3NjI2NjF8MTUzNDYxMjQ1MS4zNA";

fetch(eventsURL)
  .then((response) => response.json())
  .then(function (evnt) {
  return evnt.events.map(function(event){
    var singleEvent = document.createElement('li');
    var eventDate = document.createElement('span');
    var newDate = moment(event.datetime_local).format('LLL');
    singleEvent.innerHTML = event.title;
    eventDate.innerHTML = newDate;
    append(eventlist, singleEvent);
    append(singleEvent, eventDate);
  })

})
.catch(function (error) {
  console.log('Error during fetch: ' + error.message);
});

在这里,我们可以通过添加一个 。然后 Fetch API返回的Promise的处理程序,以便显示来自SeatGeek站点的事件。 承诺可以使使用JavaScript更加容易, 一个d使您的代码更整洁并更具可读性。 反过来,这可以使您的开发更加高效。

结论

当涉及到Web开发时,如果没有JavaScript,您不会走得太远。 拥有其本机API的句柄将有助于您轻松检索可修改的资源,以供在网站或Web应用程序上使用。

在本文中,我们讨论了两个示例,您可能希望何时使用JavaScript Fetch API而不是WordPress REST API:

  1. 返回的响应不是JSON。 使用Fetch API,您可以返回多种格式的数据,而WordPress REST API仅返回JSON。
  2. 使用promise以特定顺序执行功能。 由于Fetch API会按承诺返回数据,因此您无需编写自己的数据。

您还有其他关于Fetch API的问题吗? 将它们留在下面的评论部分!

文章缩略图Sudowoodo / shutterstock.com


【免费外贸推广营销视频培训教程】
https://school.yooopaaa.com

WordPress著名Avada主题官方优惠
https://1.envato.market/xxPav

WordPress可视化建站Elementor插件
https://elementor.com/?ref=19904

WordPress外贸独立站DIVI主题官方优惠
https://www.elegantthemes.com/affiliates/idevaffiliate.php?id=59787

亚马逊选品工具Jungle Scout官方优惠
https://junglescout.grsm.io/jieqiu1568

独立站SEO优化工具Semrush免费7天试用
https://shareasale.com/r.cfm?b=1577772&u=2541755&m=97231&urllink=&afftrack=