网站首页 > 技术文章 正文
官网介绍
https://wendux.github.io/dist/#/doc/flyio/readme
一个支持所有JavaScript运行环境的基于Promise的、支持请求转发、强大的http请求库。可以让您在多个端上尽可能大限度的实现代码复用。其兼容性是它一大优势。
浏览器兼容性
其它平台
目前Fly.js支持的平台包括:Node.js 、微信小程序 、Weex 、React Native 、Quick App 和浏览器。不过官方文档中已经说明,更多平台正在持续加入,后续肯定会支持更多的平台。
安装和使用
安装方式和普通的js差不多
- npm包安装
npm install flyio
- 浏览器引入
<script src="https://unpkg.com/flyio/dist/fly.min.js"></script>
- 浏览器端使用方式(其它环境请参考官网文档)
//index.html <script src="https://unpkg.com/flyio/dist/fly.min.js"></script> <script> let fly = new Fly(); fly.get('./data.json').then(res => { console.log(res); }).catch(function (error) { console.log(error); }); </script> //data.json { "weatherinfo": { "city": "北京", "cityid": "101010100", "temp": "27.9", "WD": "南风", "WS": "小于3级", "SD": "28%", "AP": "1002hPa", "njd": "暂无实况", "WSE": "<3", "time": "17:55", "sm": "2.1", "isRadar": "1", "Radar": "JC_RADAR_AZ9010_JB" } }
查看浏览器返回的结果
使用
- get请求
fly.get(url, data, options)//option是请求配置项
- post请求
fly.post(url, data, options)//option是请求配置项
- request
fly.request(url, data, options)//option是请求配置项
- request结构对象
{ headers:{}, //http请求头, baseURL:"", //请求基地址 timeout:0,//超时时间,为0时则无超时限制 //是否自动将Content-Type为“application/json”的响应数据转化为JSON对象,默认为true parseJson:true, withCredentials:false //跨域时是否发送cookie }
示例:
//GET请求 fly.request("/user/8" null, {method:"get"}) //DELETE 请求 fly.request("/user/8/delete", null, {method:"delete"}) //PUT请求 fly.request("/user/register", {name:"doris"}, {method:"PUT"})
- response对象结构
{ data, //服务器返回的数据 engine, //请求使用的http engine(见下面文档),浏览器中为本次请求的XMLHttpRequest对象 headers, //响应头信息 request //本次响应对应的请求信息 }
- 别名方法
fly.put(url, data, options) fly.delete(url,data,options) fly.patch(url,data,options) fly.all([]) fly.spread([])
还有更多用法请直接参考官方文档
对比axios和fetch
官网有更详细的的介绍,大家可以直接参考官网。
备注
- fly不支持jsonp
- fly只能设置并维护一个拦截器
- 可以清除拦截器
- 不支持请求取消
- 支持请求重定向
总结
flyJS是一个http请求的终极的解决方案,Fly最大的特点就是在混合APP中支持请求转发,而axios不支持,fly采用分层的思想,通过替换底层http engine(Fly中提出了Http Engine的概念)的方式实现各种环境的适配。能够实现很多高级的玩法。
猜你喜欢
- 2024-10-17 简书看到的技术文档,非常详细解释了axios技术,值得收藏
- 2024-10-17 全面分析前端的网络请求方式 前端网络请求框架
- 2024-10-17 一步一步学测试平台开发-Vue restful请求
- 2024-10-17 前端面试29:什么是fetch?fetch与20年前的ajax有什么不同?
- 2024-10-17 手把手教你全面分析前端如何网络请求方式
- 2024-10-17 实战:整合VueJS、Axios和Jacksons实现JAVA EE 下的数据持久化
- 2024-10-17 前端基础面试:axios的特点和基本使用方法以及拦截器的使用方法
- 2024-10-17 在React项目中使用Axios react-intl
- 2024-10-17 前端金三银四面试必备八股文——JavaScript
- 2024-10-17 Axios是什么?用在什么场景?如何使用?
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)