小程序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 相关文章推荐
VBScript版代码高亮
Jun 26 Javascript
JavaScript下利用fso判断文件是否存在的代码
Dec 11 Javascript
sencha touch 模仿tabpanel导航栏TabBar的实例代码
Oct 24 Javascript
手机平板等移动端适配跳转URL的js代码
Jan 25 Javascript
Javascript 赋值机制详解
Nov 23 Javascript
基于jQuery和CSS3制作数字时钟附源码下载(jquery篇)
Nov 24 Javascript
jquery实现下拉菜单的手风琴效果
Jul 23 jQuery
利用vue组件自定义v-model实现一个Tab组件方法示例
Dec 06 Javascript
使用Vue做一个简单的todo应用的三种方式的示例代码
Oct 20 Javascript
Echart折线图手柄触发事件示例详解
Dec 16 Javascript
微信小程序页面传多个参数跳转页面的实现方法
May 17 Javascript
vuex + keep-alive实现tab标签页面缓存功能
Oct 17 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 JSON格式数据交互实例代码详解
2011/01/13 PHP
php查看请求头信息获取远程图片大小的方法分享
2013/12/25 PHP
php一行代码获取文件后缀名实例分析
2014/11/12 PHP
thinkphp模板继承实例简述
2014/11/26 PHP
浅谈COOKIE和SESSION区别
2015/07/19 PHP
Zend Framework框架实现类似Google搜索分页效果
2016/11/25 PHP
thinkphp关于简单的权限判定方法
2017/04/03 PHP
Thinkphp自定义生成缩略图尺寸的方法
2019/08/05 PHP
基于Laravel 多个中间件的执行顺序详解
2019/10/21 PHP
js判断数据类型如判断是否为数组是否为字符串等等
2014/01/15 Javascript
JavaScript实现将数组数据添加到Select下拉框的方法
2015/08/21 Javascript
基于jQuery实现的美观星级评论打分组件代码
2015/10/30 Javascript
jQuery简单实现上下,左右滑动的方法
2016/06/01 Javascript
javascript如何定义对象数组
2016/06/07 Javascript
JS使用正则表达式过滤多个词语并替换为相同长度星号的方法
2016/08/03 Javascript
Nodejs下用submit提交表单提示cannot post错误的解决方法
2016/11/21 NodeJs
基于JavaScript实现带缩略图的轮播效果
2017/01/12 Javascript
Angular4.x通过路由守卫进行路由重定向实现根据条件跳转到相应的页面(推荐)
2018/05/10 Javascript
[01:05:36]VP vs TNC Supermajor小组赛B组 BO3 第二场 6.2
2018/06/03 DOTA
Python3匿名函数用法示例
2018/07/25 Python
python正则表达式去除两个特殊字符间的内容方法
2018/12/24 Python
pandas删除指定行详解
2019/04/04 Python
Python+unittest+DDT实现数据驱动测试
2020/11/30 Python
CSS3 animation实现简易幻灯片轮播特效
2016/09/27 HTML / CSS
HTML5本地存储之IndexedDB
2017/06/16 HTML / CSS
美术师范毕业生自荐信
2013/11/16 职场文书
目标管理责任书
2014/04/15 职场文书
党员先锋岗事迹材料
2014/05/08 职场文书
2014年向国旗敬礼活动总结
2014/09/27 职场文书
2014年图书馆工作总结
2014/11/25 职场文书
工程合作意向书范本
2015/05/09 职场文书
《一面五星红旗》教学反思
2016/02/23 职场文书
读《推着妈妈去旅行》有感1500字
2019/10/15 职场文书
如何优化vue打包文件过大
2022/04/13 Vue.js
Mysql 一主多从的部署
2022/05/20 MySQL
python如何查找列表中元素的位置
2022/05/30 Python