基于Promise规范的fetch API的使用

基于Promise规范的fetch API的使用

fetch的使用

  1. 作用:fetch 这个API,是专门用来发起Ajax请求的;
  2. fetch 是由原生 JS 提供的 API ,专门用来取代 XHR 这个对象的;
    fetch(‘请求的url地址‘).then(response => res.json()).then(data= > console.log(data))
    // 注意: 第一个.then 中获取到的不是最终的数据,而是一个中间的数据流对象;
    // 注意: 第一个 .then 中获取到的数据,是 一个 Response 类型的对象;
    // 第二个 .then 中,获取到的才是真正的 数据;
  3. 发起 Get 请求:
    // 默认 fetch(‘url‘) 的话,发起的是 Get 请求
      fetch(‘http://39.106.32.91:3000/api/getlunbo‘)
        .then(response => {
          // 这个 response 就是 服务器返回的可读数据流,内部存储的是二进制数据;
          // .json() 的作用,就是 读取 response 这个二进制数据流,并把 读取到的数据,转为 JSON 格式的 Promise对象
          return response.json()
        })
        .then(data => {
          // 这里,第二个.then 中,拿到的 data,就是最终的数据
          console.log(data)
        })

    ?

  4. 发起 Post 请求:
    // 这是 查询参数   name=zs&age=20
      var sendData = new URLSearchParams()
      sendData.append(‘name‘, ‘ls‘)
      sendData.append(‘age‘, 30)
    
      fetch(‘http://39.106.32.91:3000/api/post‘, {
        method: ‘POST‘,
        body: sendData // 要发送给服务器的数据
      })
        .then(response => response.json())
        .then(data => console.log(data))
  5. 注意: fetch 无法 发起 JSONP 请求

fetch-jsonp的使用

  1. fetch-jsonp最基本的用法:

    fetchJsonp(‘https://api.douban.com/v2/movie/in_theaters‘)
      .then(function (response) {
        // response.json()   当我们为 response 对象调用了它的 .json() 方法以后,返回的是新的 promise 实例对象
        return response.json()
      })
      .then(function (result) {
        console.log(result)
      })
  2. 注意事项:
    1. 在调用 fetchJsonp 的时候,小括号中写的就是 你请求的 API 地址
    2. 当调用 fetchJsonp 以后,得到的是一个 Promise 实例对象,需要为 这个 Promise 实例对象,通过.then指定成功的回调函数,在第一个 .then()中无法拿到最终的数据,拿到的是一个 Response 类型的对象;
    3. 在 第一个 .then中,需要return response.json()从而返回一个新的Promise 实例;
    4. 为 第一个 .then()中返回的promise实例,再次通过.then指定成功回调,拿到的才是最终的数据;

    总结: 第一个.then拿到的是中间数据; 第二个.then中拿到的才是最终的数据;

原文地址:https://www.cnblogs.com/var-chu/p/9648766.html

时间: 2024-10-12 06:55:32

基于Promise规范的fetch API的使用的相关文章

(转)这个API很“迷人”——新的Fetch API

原文:https://hacks.mozilla.org/2015/03/this-api-is-so-fetching 原标题是This API is So Fetching,Fetching也可以表示迷人的意思——译者注 JavaScript 通过XMLHttpRequest(XHR)来执行异步请求,这个方式已经存在了很长一段时间.虽说它很有用,但它不是最佳API.它在设计上不符合职责分离原则,将输入.输出和用事件来跟踪的状态混杂在一个对象里.而且,基于事件的模型与最近JavaScript流

Ajax新玩法fetch API

目前 Web 异步应用都是基于 XMLHttpRequest/ActiveXObject (IE)实现的, 这些对象不是专门为资源获取而设计的,因而它们的 API 非常复杂,同时还需要开发者处理兼容性问题. 虽然开发者普遍使用 $.ajax() 这样的上层包装,但 Fetch API 意在提供更加方便和一致的原生 API, 同时统一 Web 平台上的资源获取行为,包括外链脚本.样式.图片.AJAX 等.同时Fetch API使用Promise,因此是一种简洁明了的API,比XMLHttpRequ

queue-fun基于Promise的队列控制模块。

工作告一段落,闲来无事,写了一个在nodejs实现“半阻塞”的控制程序. 一直以来,nodejs以单线程非阻塞,高并发的特性而闻名.搞这个“半阻塞”是东西,有什么用呢? 场景一: 现在的web应用可有都是一个这样的结构: http服务(node) > 接口(业务逻辑) > 数据库 很多时候,瓶颈一般出现在业务层,或者数据层.更多的可能是某一个业务的处理,拉下整个系统的性能. 当用户或一些不怀好意的人,故意大量调用这些处理逻辑,好吧,你nodejs是非阻塞的,这一大波处理请求就一窝蜂冲到到业务层

ES6 Fetch API HTTP请求实用指南

本次将介绍如何使用Fetch API(ES6 +)对REST API的 HTTP请求,还有一些示例提供给大家便于大家理解. 注意:所有示例均在带有箭头功能的 ES6中给出. 当前的Web /移动应用程序中的一种常见模式是从服务器请求或显示某种数据(例如用户,帖子,评论,订阅,付款等),然后使用CRUD(创建-Create,阅读-Retrieve,更新-Update或删除-Delete)操作. 为了进一步操作资源,我们经常使用这些JS方法(推荐),例如 .map(), .filter()和 .re

构建你的长寿命的API第1部分:规范驱动的API开发

构建你的长寿命的API第1部分:规范驱动的API开发 这篇文章是由MuleSoft的Mike Stowe在nginx.conf 2016公布的演示文稿改编的.第一部分重点是规范驱动的API开发. 第二部分讨论的最佳实践.你能够查看完整的呈现的记录的v=G8p4g3yYLBw">YouTube.详细信息例如以下: 0:00 介绍 1:52 API正在改变世界 2:32 API正在连接一切 3:36 API应该是持久的 4:01 构建一个持久的API的5个步骤 4:38 从长计议 6:03 你

基于JAX-WS规范的WebService实现

1.相关介绍 介绍Web Service需要首先了解SOA.SOA(Service-Oriented Architecture)面向服务架构是一种思想,它将应用程序的不同功能单元通过中间的契约(独立于硬件平台.操作系统和编程语言)连接起来,使得各种形式的功能单元更好的集成.WebService是SOA的一种很好的实现方式,WebService采用HTTP作为传输协议,SOAP(Simple Object Access Protocol)作为传输消息的格式. 本文重要介绍基于JAX-WS规范的We

框架基础:ajax设计方案(五)--- 集成promise规范,更优雅的书写代码

距离上一篇博客书写,又过去了大概几个月了,这段时间暂时离开了这个行业,让大脑休息一下.一个人旅行,一个人休息,正好也去完成一个目标 --- 拥有自己的驾照.当然,也把自己晒的黑漆马虎的.不过这一段时间虽然在技术上没有学太多东西,但是在心态上给了自己一个沉淀的机会,感觉自己变得更加沉稳和成熟,感觉这就是自己需要找到的自己,回归自我.好了,废话不多说了,虽然技术上没有学一些新的东西,但是欠的东西还是要补回来的.正如这篇博客,前端Promise规范的实现与ajax技术的集成,当时github上一个用户

DRF框架:接口 ,restfui接口规范,基于restful规范的原生Django接口,Postman接口工具

DRF框架 全称:django-rest framework 接口 接口:联系两个物质的媒介,完成信息交互 web程序中:联系前台页面与后台数据库的媒介 web接口组成: url:长得像放回数据的url链接 请求参数:前台按照指定的key提供数据给后台 响应数据:后台与数据库交互后将数据反馈给前台 restful接口规范 接口规范:就是为了采用不同的后台语言,也能使用同样的接口获取到同样的数据 如何写接口:接口规范是 规范化书写接口的,写接口要写 url.响应数据 注:如果将请求参数也纳入考量范

WebApi系列~基于RESTful标准的Web Api

WebApi系列~基于RESTful标准的Web Api 回到目录 微软的web api是在vs2012上的mvc4项目绑定发行的,它提出的web api是完全基于RESTful标准的,完全不同于之前的(同是SOAP协议的)wcf和webService,它是简单,代码可读性强的,上手快的,如果要拿它和web服务相比,我会说,它的接口更标准,更清晰,没有混乱的方法名称,有的只有几种标准的请求,如get,post,put,delete等,它们分别对应的几个操作,下面讲一下: GET:生到数据列表(默