微信小程序:Promise封装wx.request()

// http.js:

const app = getApp()
// const Promise = require('./es6-promise.js')  // 兼容低版本微信,现在可能用不上了
const http = (url, data) => {
  return new Promise(function (resolve, reject) {
    wx.request({
      url: `${app.globalData.baseUrl}${url}`,
      method: 'POST',
      data: data,
      header: {
        'content-type': 'application/x-www-form-urlencoded', // 默认值
        // 自定义请求头
        'access-token': app.globalData.access_token, // 访问令牌
        'user-token': app.globalData.user_token, // 登录令牌
        'version': 'v1.0' // 版本号
      },
      success: function (res) {
        if (res.statusCode != 200) {
          reject({ error: '服务器忙,请稍后重试', code: 500 });
          return;
        }
        resolve(res.data);
      },
      fail: function (res) {
        // fail调用接口失败
        reject({ error: '网络错误', code: 0 });
      },
      complete: function (res) {
        // complete
      }
    })
  })
}

module.exports = http

调用:

const http = require('../../utils/http.js')  // 引入

method: {
  doSomething(){
    http('dataUrl', param).then(res => {
      ...
    })
  }
}

感谢浏览,欢迎评论指正,转载请标明出处。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,972评论 25 709
  • 今天正好用到通讯录,总结一下使用过程.首先苹果的通讯录是保存在数据库里面的,苹果不允许开发者直接访问数据库.不过可...
    奇董阅读 1,512评论 2 5
  • 这个学期除了上学期已经在上的数学和英语外,听从过来人的经验给孩子又报了语文课--主要是作文和阅读的训练。并且...
    3f9a0fffb020阅读 357评论 0 0
  • 史安雅是在大三的时候认识杨其的,史安雅当时是学会计的,杨其是学机械的,但是两个人都爱文字,都会在学校的各种报刊上发...
    曹佑阅读 476评论 0 2
  • 版权声明:原创作者为戴德文,如需转载,请注明作者及原文出处。 转身去/文明路上有猛风,吹到我心碎黄花岗找不到焦距/...
    影像派阅读 839评论 1 4