微信小程序 - 用promise封装wx.request

简介

Promise 对象表示异步操作最终的完成(或失败)以及其结果值。在javascript中,当发起异步方法调用时候,要想在调用方线程获取异步结果,可以借助promise对象实现。

promise同时支持all,any等api。本文将会对wx.request进行封装,以获取异步调用的结果。

具体代码

utils/http-client.js

javascript 复制代码
const baseURL = 'http://demo.api.xxx.com';


function request(params = { methods, url, data }) {
  return  new Promise(function (resolve,reject) {
    wx.request({
      url: baseURL + params.url,
      method: params.method,
      data: params.data ? JSON.stringify(params.data) : null,
      header: { 
        'Content-Type': 'application/json',
        'accessToken': ''
       },
      timeout: 5000,
      success(res) { // 有响应
        if (res.statusCode == 200) {
          if (res.data.code == 0) {
            resolve(res.data);
          } else { // biz exception
            reject(res,data);
          }
        } else { // http exception
          reject();
        } 

      },
      fail (err) { // 无响应, io
        reject(err)
      }
    })
  })
}

module.exports = {
  request: request
}
相关推荐
CRMEB系统商城1 天前
CRMEB多商户系统(PHP)- 移动端二开之基本容器组件使用
运维·开发语言·小程序·php
沉默-_-1 天前
微信小程序网络请求 wx.request 详解
网络·学习·微信小程序·小程序
2501_915909061 天前
设置了 SSL Pinning 与双向 TLS 验证要怎么抓包
网络·网络协议·ios·小程序·uni-app·iphone·ssl
沉默-_-1 天前
微信小程序页面配置详解
学习·微信小程序·apache·微信开发者工具
龙兵科技小付说1 天前
不同价格的上门做饭小程序APP都有什么功能?
小程序·软件开发·上门做饭
2501_916007472 天前
如何查看 iOS 设备系统与硬件信息,iOS系统信息显示工具
android·ios·小程序·https·uni-app·iphone·webview
逆龙泰氽2 天前
微信小程序开发04-1(小程序API)
微信小程序·小程序
说私域2 天前
AI智能名片S2B2C商城小程序在微商中的应用与影响
大数据·人工智能·小程序·流量运营
苏苏哇哈哈2 天前
微信小程序实现高性能动态配置水滴凹槽、凸起Tabbar 组件
微信小程序·小程序
逆龙泰氽2 天前
微信小程序开发03(WXML语法)
微信小程序·小程序