您的位置:首页 > 移动开发 > 微信开发

微信小程序 es6-promise.js封装请求 处理异步进程

2017-06-08 16:58 786 查看
下载es6-promise.js置于根目录下的libs文件夹下;

在根目录utils文件夹下新建httpsPromisify.js,即定义封装请求的方法

var Promise = require('../libs/es6-promise.min')

function httpsPromisify(fn) {
return function (obj = {}) {
return new Promise((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,这个亲测完美,而且文件大小比其他在都小很多,所以建议大家使用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐