下载es6-promise.js置于根目录下的libs文件夹下;在根目录utils文件夹下新建httpsPromisify.js,即定义封装请求的方法var Promise = require('../libs/es6-promise.min')function httpsPromisify(fn) { return func ...
下载es6-promise.js置于根目录下的libs文件夹下;
在根目录utils文件夹下新建httpsPromisify.js,即定义封装请求的方法
varPromise=require('../libs/es6-promise.min')
function httpsPromisify(fn){
returnfunction(obj ={}){
returnnewPromise((resolve, reject)=>{
obj.success =function(res){
resolve(res)
}
obj.fail =function(res){
reject(res)
}
fn(obj)
})
}
}
module.exports ={
httpsPromisify: httpsPromisify
}
调用方法:
var Promisify = require('../../utils/httpsPromisify') Page({ onLoad: function(){ Promisify.httpsPromisify(wx.request)({ url: "https://XXXXXXX", header: { "Content-Type": "application/x-www-form-urlencoded" }, method: "POST", data: { } }).then(function(res){ console.log(res) }) }, })注意:
目前支持promise的第三方库有许多,如$q.js,bluebird.js等等,但是需要注意的是,这些在微信开发工具上可以正常使用,但是到真机上就没有效果了;
所以用es6-Promise.js,这个亲测完美,而且文件大小比其他在都小很多,所以建议大家使用。