小程序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热气球动画半透明背景的后台登录界面代码分享
Aug 28 Javascript
JQuery自适应窗口大小导航菜单附源码下载
Sep 01 Javascript
JavaScript面向对象编写购物车功能
Aug 19 Javascript
BootStrap整体框架之基础布局组件
Dec 15 Javascript
微信小程序之电影影评小程序制作代码
Aug 03 Javascript
Angular实现点击按钮后在上方显示输入内容的方法
Dec 27 Javascript
react中使用swiper的具体方法
May 15 Javascript
微信小程序textarea层级过高的解决方法
Mar 04 Javascript
WebGL three.js学习笔记之阴影与实现物体的动画效果
Apr 25 Javascript
js实现验证码功能
Jul 24 Javascript
antd form表单数据回显操作
Nov 02 Javascript
JS中锚点链接点击平滑滚动并自由调整到顶部位置
Feb 06 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
fleaphp rolesNameField bug解决方法
2011/04/23 PHP
Zend Framework教程之分发器Zend_Controller_Dispatcher用法详解
2016/03/07 PHP
PHP实现的激活用户注册验证邮箱功能示例
2017/06/06 PHP
jQuery 源代码显示控件 (Ajax加载方式).
2009/05/18 Javascript
在一个浏览器里呈现所有浏览器测试结果的前端测试工具的思路
2010/03/02 Javascript
jquery 事件对象属性小结
2010/04/27 Javascript
JavaScript性能优化 创建文档碎片(document.createDocumentFragment)
2010/07/13 Javascript
javascript时间函数基础介绍
2013/03/28 Javascript
详解jQuery中的元素的属性和相关操作
2015/08/14 Javascript
jQuery easyui的validatebox校验规则扩展及easyui校验框validatebox用法
2016/01/18 Javascript
AngularJS控制器继承自另一控制器
2016/05/09 Javascript
基于javascript实现的购物商城商品倒计时实例
2016/12/11 Javascript
Bootstrap导航条的使用和理解3
2016/12/14 Javascript
JS高仿抛物线加入购物车特效实现代码
2017/02/20 Javascript
JS实现简单短信验证码界面
2017/08/07 Javascript
微信小程序实现tab和swiper切换结合效果
2020/07/17 Javascript
Python计算回文数的方法
2015/03/11 Python
Python计算字符宽度的方法
2016/06/14 Python
python利用pandas将excel文件转换为txt文件的方法
2018/10/23 Python
Python3按一定数据位数格式处理bin文件的方法
2019/01/24 Python
详解python内置常用高阶函数(列出了5个常用的)
2020/02/21 Python
Python3之外部文件调用Django程序操作model等文件实现方式
2020/04/07 Python
PyQt5多线程防卡死和多窗口用法的实现
2020/09/15 Python
详解python对象之间的交互
2020/09/29 Python
Canvas制作旋转的太极的示例
2018/03/09 HTML / CSS
50道外企软件测试面试题
2014/08/18 面试题
毕业生毕业总结的自我评价范文
2013/11/02 职场文书
人事助理岗位职责
2013/11/18 职场文书
商场拾金不昧表扬信
2014/01/13 职场文书
晚宴邀请函范文
2014/01/15 职场文书
读书活动总结
2014/04/28 职场文书
金融专业毕业生自荐信
2014/06/26 职场文书
社区党员公开承诺书
2014/08/30 职场文书
支部书记四风问题自我剖析材料
2014/09/29 职场文书
2015年社区妇联工作总结
2015/04/21 职场文书
idea以任意顺序debug多线程程序的具体用法
2021/08/30 Java/Android