如何理解Fetch Api 如何理解绿水青山就是金山银山
yuyutoo 2024-10-15 16:51 3 浏览 0 评论
关于 Fetch Api,接受度越来越高了。网上很多文章在介绍 Fetch 的用法,在鼓吹 Fetch 的优势,也有人在撰文批评 Fetch 的难以使用。 但是,当我们在讨论 Fetch Api 的优点和缺点的时候,我们在讨论什么?如果不清楚一个接口的设计目的,又如何去评判这个设计?
从我个人看来,我觉得我们需要明确以下两点:
第一、Fetch Api 是一个“底层”接口
这个“底层”的意思并不是说这个 api 有操纵 OS 或者浏览器原生特性的能力,而是说这个接口是 Web 的底层。 Fetch Api 属于 WEB API,不是一个高度封装接口。竞争对手不是jquery,不是axios,也不是其他的 HTTP 库。
所以,fetch api 本身就不是给普通开发者用的,而是给库开发者用的。就像在 java 里面,你通常不会直接通过 socket 去执行 http 请求一样。所以,不要站在普通开发者的视角来看这些问题,如果你想像用 axios 一样来使用 fetch,你就掉坑里了。
第二、Fetch Api 是由 whatag (对比一下 W3C) 制定的。
随着 web 和 js 的领域扩张,如果 Web 想成为一个通用平台,如果 js 想成为一个成熟的平台语言,那么 API 的底层化和标准化是不可避免的,不跳出浏览器这个束缚,是达不到目的的。
- 站在语言的角度,js 竞争的是 java,是 python,是其他的通用平台语言。
- 站在平台的角度,Web 竞争的是其他平台,是 windows,是android,是ios。
- 站在标准的角度,规范要统一的是浏览器,是Node,也是其他的 Web 运行宿主。
当前 XMLHttpRequest 面临的困境是,XMLHttpRequest 满足不了 web 的扩展(不论是横向扩展还是纵向扩展)。而不是因为 XMLHttpRequest 有什么内在缺陷。所以 Fetch 重新模块化了各个部分,
Request Response Header Body
显然,这种架构根本就是对 Http 协议的复刻,因为 Http 才是 Web 的底层协议。
如果我们能记住以上两点,我们就能理解那些槽点:
- fetch api 备受苛责点的“错误处理”。404、502之类的状态码被认为是 “resolved” 不是一目了然吗?因为对于一个底层接口来说,网络是正常的,只是你的服务不正常。
- Request 默认是不带 cookie。这个在我看来是改进,而不是槽点,“如无必要,勿增实体”。
- 不支持取消请求。说实话,这才真的是一个槽点。不过这只是一个暂时缺失的点,而不是接口设计如此。 AbortController 已经在实现中了,而且最新的浏览器已经实现了。不过,最后使用当然不会像 XMLHttpRequest 直接调用 abort() 这么简单。
- 如果还有其他问题,请参照对比 Fetch 与 Socket。
相关推荐
- Python操作Word文档神器:python-docx库从入门到精通
-
Python操作Word文档神器:python-docx库从入门到精通动动小手,点击关注...
- Python 函数调用从入门到精通:超详细定义解析与实战指南 附案例
-
一、函数基础:定义与调用的核心逻辑定义:函数是将重复或相关的代码块封装成可复用的单元,通过函数名和参数实现特定功能。它是Python模块化编程的基础,能提高代码复用性和可读性。定义语法:...
- 等这么长时间Python背记手册终于来了,入门到精通(视频400集)
-
本文毫无套路!真诚分享!前言:无论是学习任何一门语言,基础知识一定要扎实,基础功非常的重要,找一个有丰富编程经验的老师或者师兄带着你会少走很多弯路,你的进步速度也会快很多,无论我们学习的目的是什么,...
- 图解Python编程:从入门到精通系列教程(附全套速查表)
-
引言本系列教程展开讲解Python编程语言,Python是一门开源免费、通用型的脚本编程语言,它上手简单,功能强大,它也是互联网最热门的编程语言之一。Python生态丰富,库(模块)极其丰富,这使...
- Python入门教程(非常详细)从零基础入门到精通,看完这一篇就够
-
本书是Python经典实例解析,采用基于实例的方法编写,每个实例都会解决具体的问题和难题。主要内容有:数字、字符串和元组,语句与语法,函数定义,列表、集、字典,用户输入和输出等内置数据结构,类和对象,...
- Python函数全解析:从入门到精通,一文搞定!
-
1.为什么要用函数?函数的作用:封装代码,提高复用性,减少重复,提高可读性。...
- Python中的单例模式:从入门到精通
-
Python中的单例模式:从入门到精通引言单例模式是一种常用的软件设计模式,它保证了一个类只有一个实例,并提供一个全局访问点。这种模式通常用于那些需要频繁创建和销毁的对象,比如日志对象、线程池、缓存等...
- 【Python王者归来】手把手教你,Python从入门到精通!
-
用800个程序实例、5万行代码手把手教你,Python从入门到精通!...
- Python从零基础入门到精通:一个月就够了
-
如果想从零基础到入门,能够全职学习(自学),那么一个月足够了。...
- Python 从入门到精通:一个月就够了
-
要知道,一个月是一段很长的时间。如果每天坚持用6-7小时来做一件事,你会有意想不到的收获。作为初学者,第一个月的月目标应该是这样的:熟悉基本概念(变量,条件,列表,循环,函数)练习超过30个编...
- Python零基础到精通,这8个入门技巧让你少走弯路,7天速通编程!
-
Python学习就像玩积木,从最基础的块开始,一步步搭建出复杂的作品。我记得刚开始学Python时也是一头雾水,走了不少弯路。现在回头看,其实掌握几个核心概念,就能快速入门这门编程语言。来聊聊怎么用最...
- 神仙级python入门教程(非常详细),从0到精通,从看这篇开始!
-
python入门虽然简单,很多新手依然卡在基础安装阶段,大部分教程对一些基础内容都是一带而过,好多新手朋友,对一些基础知识常常一知半解,需要在网上查询很久。...
- Python类从入门到精通,一篇就够!
-
一、Python类是什么?大家在生活中应该都见过汽车吧,每一辆真实存在、能在路上跑的汽车,都可以看作是一个“对象”。那这些汽车是怎么生产出来的呢?其实,在生产之前,汽车公司都会先设计一个详细的蓝图...
- 学习Python从入门到精通:30天足够了,这才是python基础的天花板
-
当年2w买的全套python教程用不着了,现在送给有缘人,不要钱,一个月教你从入门到精通1、本套视频共487集,本套视频共分4季...
- 30天Python 入门到精通(3天学会python)
-
以下是一个为期30天的Python入门到精通学习课程,专为零基础新手设计。课程从基础语法开始,逐步深入到面向对象编程、数据处理,最后实现运行简单的大语言模型(如基于HuggingFace...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- mybatis plus (70)
- scheduledtask (71)
- css滚动条 (60)
- java学生成绩管理系统 (59)
- 结构体数组 (69)
- databasemetadata (64)
- javastatic (68)
- jsp实用教程 (53)
- fontawesome (57)
- widget开发 (57)
- vb net教程 (62)
- hibernate 教程 (63)
- case语句 (57)
- svn连接 (74)
- directoryindex (69)
- session timeout (58)
- textbox换行 (67)
- extension_dir (64)
- linearlayout (58)
- vba高级教程 (75)
- iframe用法 (58)
- sqlparameter (59)
- trim函数 (59)
- flex布局 (63)
- contextloaderlistener (56)