小程序api实现promise封装过程解析


Posted in Javascript onNovember 21, 2019

这篇文章主要介绍了小程序api实现promise封装过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

微信小程序和支付宝小程序的api封装方法是一样的,都是外部新建一个js,使用module.exports导出,要注意的是,最好使用post请求,虽然get请求没什么不好,主要是好修改。这里使用的MD5进行了token加密,最好还是把md5.js单独写下来(MD5函数js)

代码如下

var app = getApp(); // 引入app.js里初始化数据
var MD5 = require('./md5.js')
function ApiFun (url,params) {
 var param = {}
 let timeStamp = Number(new Date()) // 时间戳
 let Token = "*******"
 return new Promise((resolve, reject,next) => {
  my.request({ // 支付宝小程序是my,微信小程序是wx
   url: app.globalData.baseUrl + url, // 域名+接口名称
   method: "POST",
   data: params, // 参数
   success: resolve, // 成功结果
   headers: {
    "Content-Type": "application/x-www-form-urlencoded"
   }, // post请求头
   fail: reject, // 失败结果
   complete: next // 成功或者失败都会调用的结果
  })
 })
}
module.exports = {
 ajaxApi: function (url, params) { // 导出
  return ApiFun(url, params).then(res => res.data)
 }
}

使用方法在page页面的js中

var app = getApp();
var api =require('/pages/utils/api.js')
Page({
  onShow() {
    api.ajaxApi('/**/list',{
      page:1,
      prePage:100
    }).then(res => {
       console.log(res)
    })
  }
})

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
颜色选择器 Color Picker,IE,Firefox,Opera,Safar
Nov 25 Javascript
javascript引用类型指针的工作方式
Apr 13 Javascript
AngularJS在IE8的不支持的解决方法
May 13 Javascript
javascript弹出窗口中增加确定取消按钮
Jun 24 Javascript
两行代码轻松搞定JavaScript日期验证
Aug 03 Javascript
JavaScript用JSONP跨域请求数据实例详解
Jan 06 Javascript
js实现分页功能
May 24 Javascript
JavaScript引用类型Object常见用法实例分析
Aug 08 Javascript
webpack4 处理CSS的方法示例
Sep 03 Javascript
浅谈从React渲染流程分析Diff算法
Sep 08 Javascript
vue-router两种模式区别及使用注意事项详解
Aug 01 Javascript
微信小程序 如何保持登录状态
Aug 16 Javascript
如何基于原生javaScript生成带图片的二维码
Nov 21 #Javascript
Vue中Table组件行内右键菜单实现方法(基于 vue + AntDesign)
Nov 21 #Javascript
vue element 中的table动态渲染实现(动态表头)
Nov 21 #Javascript
浅谈Vue SSR中的Bundle的具有使用
Nov 21 #Javascript
webpack常用构建优化策略小结
Nov 21 #Javascript
Vue 中 filter 与 computed 的区别与用法解析
Nov 21 #Javascript
js实现课堂随机点名系统
Nov 21 #Javascript
You might like
转换中文日期的PHP程序
2006/10/09 PHP
怎样在php中使用PDF文档功能
2006/10/09 PHP
ThinkPHP中使用ajax接收json数据的方法
2014/12/18 PHP
php获取发送给用户的header信息的方法
2015/03/16 PHP
PHP命名空间namespace用法实例分析
2016/09/27 PHP
bcastr2.0 通用的图片浏览器
2006/11/22 Javascript
JavaScript学习笔记(十七)js 优化
2010/02/04 Javascript
javascript 数据类型转换(parseInt,parseFloat)
2010/07/20 Javascript
jquery实现微博文字输入框 输入时显示输入字数 效果实现
2013/07/12 Javascript
JS使用getComputedStyle()方法获取CSS属性值
2014/04/23 Javascript
JS不能跨域借助jquery获取IP地址的方法
2014/08/20 Javascript
js实现的捐赠管理完整实例
2015/01/20 Javascript
JavaScript跨平台的开源框架NativeScript
2015/03/24 Javascript
浅谈jQuery中height与width
2015/07/06 Javascript
跟我学习javascript的浮点数精度
2015/11/16 Javascript
基于JavaScript实现鼠标箭头移动图片跟着移动
2016/08/30 Javascript
深入理解ES7的async/await的用法
2017/09/09 Javascript
vue项目在安卓低版本机显示空白的原因分析(两种)
2018/09/04 Javascript
vue router带参数页面刷新或回退参数消失的解决方法
2019/02/27 Javascript
jQuery实现中奖播报功能(让文本滚动起来) 简单设置数值即可
2020/03/20 jQuery
JS中FormData类实现文件上传
2020/03/27 Javascript
公众号SVG动画交互实战代码
2020/05/31 Javascript
微信小程序学习总结(四)事件与冒泡实例分析
2020/06/04 Javascript
python基础教程之常用运算符
2014/08/29 Python
浅谈Scrapy框架普通反爬虫机制的应对策略
2017/12/28 Python
全面分析Python的优点和缺点
2018/02/07 Python
python中pika模块问题的深入探究
2018/10/13 Python
Django 接收Post请求数据,并保存到数据库的实现方法
2019/07/12 Python
Django2.1.7 查询数据返回json格式的实现
2020/12/29 Python
中国海淘族值得信赖的海淘返利网站:55海淘
2017/01/16 全球购物
岗位职责怎么写
2014/03/14 职场文书
党员自我剖析材料范文
2014/10/06 职场文书
工作证明格式范文
2015/06/15 职场文书
MySQL Shell的介绍以及安装
2021/04/24 MySQL
HTML5之高度塌陷问题的解决
2022/06/01 HTML / CSS
css让页脚保持在底部位置的四种方案
2022/07/23 HTML / CSS