react-native 网络请求fetch

本文详细探讨了React Native中fetch API的使用,包括其与XMLHttpRequest的差异、fetch的缺点,如不支持同步请求、无法取消请求及无法查看请求进度等。同时,文章深入分析了fetch的错误处理机制,指出其复杂性。
摘要由CSDN通过智能技术生成

前言:

官方推荐是网络请求Fetch 今天记录下这个Fetch

片段一:不同

Ajax  JQuery-Ajax  axios fetch区别: 

传统 Ajax   指的是 XMLHttpRequest(XHR)最早出现的发送后端请求技术,隶属于原始js中,核心使用XMLHttpRequest对象

JQuery-Ajax  是对原生XHR的封装,除此以外还增添了对JSONP的支持

axios  从浏览器中创建XMLHttpRequest  从node层发起http请求  支持 Promise API 
自动转json 客户端支持防止CSRF(因为从cookie里面获取key值后发送到服务端会检测).提供了一些并发请求的接口

Fetch  是基于promise设计的   脱离了XHR 
符合关注分离,没有将输入、输出和用事件来跟踪的状态混杂在一个对象里  .更好更方便的写法 

片段二:缺点

fetch只对网络请求报错,对400,500都当做成功的请求,服务器返回 400,500 错误码时并不会 reject,只有网络错误这些导致
请求不能完成时才会被 reject。
fetch默认不会带cookie,需要添加配置项: fetch(url, {credentials: 'include'})
fetch没有办法原生监测请求的进度,而XHR可以

片段三:真实的fetch

fetch 是一个 low-level 的 API,它注定不会像你习惯的 $.ajax 或是 axios 等库帮你封装各种各样的功能或实现。
也正是因
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值