React-Native Fetch使用Promise封装(一)
来源:互联网 发布:二维码生成软件设备 编辑:程序博客网 时间:2024/05/24 06:34
项目中封装Fetch的方法
/** *2017/04/23 dongtao * 基于 fetch 封装的 GET请求 * @param url * @param params {} * @param headers * @returns {Promise} */ var HTTPUtil = {}; HTTPUtil.get = function(url, params, headers) { if (params) { let paramsArray = []; //encodeURIComponent Object.keys(params).forEach(key => paramsArray.push(key + '=' + params[key])) if (url.search(/\?/) === -1) { url += '?' + paramsArray.join('&') } else { url += '&' + paramsArray.join('&') } } return new Promise(function (resolve, reject) { fetch(url, { method: 'GET', headers: headers, }) .then((response) => { if (response.ok) { return response.json(); } else { reject({status:response.status}) } }) .then((response) => { resolve(response); }) .catch((err)=> { reject({status:-1}); }) }) } /** * 基于 fetch 封装的 POST请求 FormData 表单数据 * @param url * @param formData * @param headers * @returns {Promise} */ HTTPUtil.post = function(url, formData, headers) { return new Promise(function (resolve, reject) { fetch(url, { method: 'POST', headers: headers, body:formData, }) .then((response) => { if (response.ok) { return response.json(); } else { reject({status:response.status}) } }) .then((response) => { resolve(response); }) .catch((err)=> { reject({status:-1}); }) }) } export default HTTPUtil;
使用
let formData = new FormData(); formData.append("id",1060); HTTPUtil.post(url,formData,headers).then((json) => { //处理 请求success if(json.code === 0 ){ //我们假设业务定义code为0时,数据正常 }else{ //处理自定义异常 this.doException(json); } },(json)=>{ //TODO 处理请求fail })
0 0
- React-Native Fetch使用Promise封装(一)
- React Native 网络请求封装:使用Promise封装fetch请求
- React Native 网络请求封装:使用Promise封装fetch请求
- React Native 网络请求封装:使用Promise封装fetch请求
- React Native 网络请求封装:使用Promise封装fetch请求
- React Native网络请求fetch简单封装
- react native 使用fetch进行网络请求(https),解决SSLHandshake问题,以及怎样进行二次封装
- React-Native之fetch的使用
- React Native使用fetch实现图片上传
- React Native使用fetch实现图片上传
- 《React-Native系列》32、 基于Fetch封装HTTPUtil工具类
- 《React-Native系列》32、 基于Fetch封装HTTPUtil工具类
- React Native中的网络请求fetch和简单封装
- react-native-io-fetch io接口请求封装
- React Native中的网络请求fetch和简单封装
- React Native 基于Fetch封装HTTPUtil工具类
- React-Native Fetch网络请求的简单封装
- [React Native]Promise机制
- 欢迎使用CSDN-markdown编辑器
- 模拟计算机计算源码、反码、补码(难度系数:1颗星)
- ZOJ 3960 What Kind of Friends Are You?(哈希)
- SpringBoot实战 之 入门篇
- 【笔记】formvalidtor中的ajaxValidator用法
- React-Native Fetch使用Promise封装(一)
- 题目1367:二叉搜索树的后序遍历序列
- linux上的mysql从5.5升级到5.6
- 栈的压入、弹出序列
- 【Summary】——>Web组·Week3
- CSDN-markdown编辑器使用教程存档
- Spring AOP(1)- 前置增强 实现
- css样式的优先级
- 顺序栈