简介
Promise
对象表示异步操作最终的完成(或失败)以及其结果值。在javascript中,当发起异步方法调用时候,要想在调用方线程获取异步结果,可以借助promise对象实现。
promise同时支持all,any等api。本文将会对wx.request进行封装,以获取异步调用的结果。
具体代码
utils/http-client.js
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 exceptionreject(res,data);}} else { // http exceptionreject();} },fail (err) { // 无响应, ioreject(err)}})})
}module.exports = {request: request
}