小程序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 相关文章推荐
优化javascript的执行速度
Jan 23 Javascript
谈谈JavaScript中function多重理解
Aug 28 Javascript
jquery实现红色竖向多级向右展开的导航菜单效果
Aug 31 Javascript
vue自定义指令实现v-tap插件
Nov 03 Javascript
利用D3.js实现最简单的柱状图示例代码
Dec 09 Javascript
微信小程序 设置启动页面的两种方法
Mar 09 Javascript
原生JS改变透明度实现轮播效果
Mar 24 Javascript
JS异步执行结果获取的3种解决方式
Feb 19 Javascript
angular 实现同步验证器跨字段验证的方法
Apr 11 Javascript
jquery实现二级导航下拉菜单效果实例
May 14 jQuery
微信小程序后端无法保持session的原因及解决办法问题
Mar 20 Javascript
解决vue-router的beforeRouteUpdate不能触发
Apr 14 Vue.js
如何基于原生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入门学习的几个不错的实例代码
2008/07/13 PHP
php连接函数implode与分割explode的深入解析
2013/06/26 PHP
async和DOM Script文件加载比较
2014/07/20 PHP
UTF-8正则表达式如何匹配汉字
2015/08/03 PHP
基于PHP+jQuery+MySql实现红蓝(顶踩)投票代码
2015/08/25 PHP
PHP实现获取并生成数据库字典的方法
2016/05/04 PHP
Yii实现Command任务处理的方法详解
2016/07/14 PHP
利用PHP判断文件是否为图片的方法总结
2017/01/06 PHP
PHP 计算至少是其他数字两倍的最大数的实现代码
2020/05/26 PHP
学习YUI.Ext第七日-View&JSONView Part Two-一个画室网站的案例
2007/03/10 Javascript
jquery 模拟雅虎首页的点击对话框效果
2010/04/11 Javascript
一些经常会用到的Javascript检测函数
2010/05/31 Javascript
JSON JQUERY模板实现说明
2010/07/03 Javascript
对javascript的一点点认识总结《javascript高级程序设计》读书笔记
2011/11/30 Javascript
js防止表单重复提交实现代码
2012/09/05 Javascript
JavaScript校验Number(4,1)格式的数字实例代码
2017/03/13 Javascript
AngularJS模糊查询功能实现代码(过滤内容下拉菜单排序过滤敏感字符验证判断后添加表格信息)
2017/10/24 Javascript
Linux Centos7.2下安装nodejs&npm配置全局路径的教程
2018/05/15 NodeJs
Vue表单输入绑定的示例代码
2018/11/01 Javascript
JavaScript中的"=、==、==="区别讲解
2019/01/22 Javascript
Python collections模块实例讲解
2014/04/07 Python
python3使用PyMysql连接mysql数据库实例
2017/02/07 Python
Python2和Python3.6环境解决共存问题
2018/11/09 Python
基于python实现学生信息管理系统
2019/11/22 Python
python之array赋值技巧分享
2019/11/28 Python
Tensorflow 自定义loss的情况下初始化部分变量方式
2020/01/06 Python
python opencv 实现对图像边缘扩充
2020/01/19 Python
Python爬取12306车次信息代码详解
2020/08/12 Python
Django Model层F,Q对象和聚合函数原理解析
2020/11/12 Python
python实现经典排序算法的示例代码
2021/02/07 Python
美国独家设计师眼镜在线光学商店:Glasses Gallery
2017/12/28 全球购物
法国在线宠物店:zooplus.fr
2018/02/23 全球购物
小学运动会演讲稿
2014/08/25 职场文书
学校后勤工作总结2015
2015/05/15 职场文书
JS实现扫雷项目总结
2021/05/19 Javascript
MySQL批量更新不同表中的数据
2022/05/11 MySQL