小程序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 相关文章推荐
cnblogs TagCloud基于jquery的实现代码
Jun 11 Javascript
jquery快捷动态绑定键盘事件的操作函数代码
Oct 17 Javascript
jQuery实现返回顶部效果的方法
May 29 Javascript
javascript数组克隆简单实现方法
Dec 16 Javascript
js实现无缝滚动特效
Dec 20 Javascript
vue实现todolist单页面应用
Apr 11 Javascript
原生JS实现N级菜单的代码
May 21 Javascript
node中间层实现文件上传功能
Jun 11 Javascript
微信小程序结合Storage实现搜索历史效果
May 18 Javascript
javascript的this关键字详解
May 20 Javascript
js实现AI五子棋人机大战
May 28 Javascript
详解React 元素渲染
Jul 07 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函数常用用法小结
2010/02/08 PHP
PHP 杂谈《重构-改善既有代码的设计》之三 重新组织数据
2012/04/09 PHP
说说PHP的autoLoad自动加载机制
2012/09/27 PHP
php中创建和调用webservice接口示例
2014/07/25 PHP
php自定义apk安装包实例
2014/10/20 PHP
PHP防盗链的基本思想 防盗链的设置方法
2015/09/25 PHP
PHP+MYSQL实现读写分离简单实战
2017/03/13 PHP
PHP判断是否是微信打开还是浏览器打开的方法
2019/02/27 PHP
深入聊聊Array的sort方法的使用技巧.详细点评protype.js中的sortBy方法
2007/04/12 Javascript
js函数般调用正则
2008/04/08 Javascript
通过修改referer下载文件的方法
2008/05/11 Javascript
学习ExtJS Panel常用方法
2009/10/07 Javascript
IE Firefox 使用自定义标签的区别
2009/10/15 Javascript
javascript获取所有同类checkbox选项(实例代码)
2013/11/07 Javascript
javascript中offset、client、scroll的属性总结
2015/08/13 Javascript
jQuery下拉美化搜索表单效果代码分享
2015/08/25 Javascript
Javascript验证方法大全
2015/09/21 Javascript
使用RequireJS库加载JavaScript模块的实例教程
2016/06/06 Javascript
详解自动生成博客目录案例
2016/12/09 Javascript
vue input输入框关键字筛选检索列表数据展示
2020/10/26 Javascript
微信小程序登录时如何获取input框中的内容
2019/12/04 Javascript
Node.js API详解之 V8模块用法实例分析
2020/06/05 Javascript
python使用Qt界面以及逻辑实现方法
2019/07/10 Python
Python实现的远程文件自动打包并下载功能示例
2019/07/12 Python
Django ImageFiled上传照片并显示的方法
2019/07/28 Python
Python sys模块常用方法解析
2020/02/20 Python
对python中list的五种查找方法说明
2020/07/13 Python
详解如何使用Pytest进行自动化测试
2021/01/14 Python
CSS3教程:新增加的结构伪类
2009/04/02 HTML / CSS
html5 Canvas画图教程(2)—画直线与设置线条的样式如颜色/端点/交汇点
2013/01/09 HTML / CSS
缅甸网上购物:Shop.com.mm
2017/12/05 全球购物
劳动竞赛活动总结
2014/05/05 职场文书
论文诚信承诺书
2014/05/23 职场文书
2015年工程师工作总结
2015/04/30 职场文书
2015年员工试用期工作总结
2015/05/28 职场文书
python 标准库原理与用法详解之os.path篇
2021/10/24 Python