小程序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 相关文章推荐
Jquery Select操作方法集合脚本之家特别版
May 17 Javascript
jQuery取得设置清空select选择的文本与值
Jul 08 Javascript
jquery图片切换实例分析
Apr 15 Javascript
微信小程序前端源码逻辑和工作流
Sep 25 Javascript
利用vue实现模态框组件
Dec 19 Javascript
基于angular-utils-ui-breadcrumbs使用心得(分享)
Nov 03 Javascript
JavaScript中为事件指定处理程序的五种方式分析
Jul 27 Javascript
Vuex 快速入门(简单易懂)
Sep 20 Javascript
如何使用 vue + d3 画一棵树
Dec 03 Javascript
Vue+Element实现动态生成新表单并添加验证功能
May 23 Javascript
jQuery 筛选器简单操作示例
Oct 02 jQuery
浅谈Vue2.4.0 $attrs与inheritAttrs的具体使用
Mar 08 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 printf输出格式使用说明
2010/12/05 PHP
Yii框架ACF(accessController)简单权限控制操作示例
2019/04/26 PHP
Javascript的时间戳和php的时间戳转换注意事项
2013/04/12 Javascript
javascript 数组操作详解
2015/01/29 Javascript
javascript实现图片循环渐显播放的方法
2015/02/24 Javascript
Jquery Mobile 自定义按钮图标
2015/11/18 Javascript
Javascript基础_标记文字的实现方法
2016/06/14 Javascript
String字符串截取的四种方式总结
2016/11/28 Javascript
Bootstrap Modal对话框如何在关闭时触发事件
2016/12/02 Javascript
简单好用的nodejs 爬虫框架分享
2017/03/26 NodeJs
vue 父组件调用子组件方法及事件
2018/03/29 Javascript
vue删除html内容的标签样式实例
2018/09/13 Javascript
原生JS实现旋转轮播图+文字内容切换效果【附源码】
2018/09/29 Javascript
从零开始封装自己的自定义Vue组件
2018/10/09 Javascript
JavaScript箭头函数中的this详解
2019/06/19 Javascript
vue中根据时间戳判断对应的时间(今天 昨天 前天)
2019/12/20 Javascript
[04:45]DOTA2-DPC中国联赛正赛 iG vs LBZS 赛后选手采访
2021/03/11 DOTA
python基础教程之Hello World!
2014/08/29 Python
Python中的闭包详细介绍和实例
2014/11/21 Python
Python使用itertools模块实现排列组合功能示例
2018/07/02 Python
matplotlib.pyplot绘图显示控制方法
2019/01/15 Python
Python tkinter模版代码实例
2020/02/05 Python
selenium WebDriverWait类等待机制的实现
2020/03/18 Python
python中sys模块是做什么用的
2020/08/16 Python
Python趣味入门教程之循环语句while
2020/08/26 Python
python中xlutils库用法浅析
2020/12/29 Python
理肤泉英国官网:La Roche-Posay英国
2019/01/14 全球购物
教师四风问题整改措施
2014/09/25 职场文书
优秀员工推荐材料
2014/12/20 职场文书
学校世界艾滋病日宣传活动总结
2015/05/05 职场文书
禁毒主题班会教案
2015/08/14 职场文书
《当代神农氏》教学反思
2016/02/23 职场文书
新西兰:最新留学学习计划书写作指南
2019/07/15 职场文书
pytorch 两个GPU同时训练的解决方案
2021/06/01 Python
python中__slots__节约内存的具体做法
2021/07/04 Python
MySQL数据库超时设置配置的方法实例
2021/10/15 MySQL