小程序api实现promise封装过程解析

这篇文章主要介绍了小程序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)
    })
  }
}) 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

相关文章

kindeditor4.x代码高亮功能默认使用的是prettify插件,prett...
这一篇我将介绍如何让kindeditor4.x整合SyntaxHighlighter代...
js如何实现弹出form提交表单?(图文+视频)
js怎么获取复选框选中的值
js如何实现倒计时跳转页面
如何用js控制图片放大缩小