欢迎光临,了解微信小程序开发,就上易用通!

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

发布:2017-12-16 15:11浏览: 来源:网络 作者:tianshu

下载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,即定义封装请求的方法

 

		
  1. var Promise = require('../libs/es6-promise.min')
  2.  
  3. function httpsPromisify(fn) {
  4. return function (obj = {}) {
  5. return new Promise((resolve, reject) => {
  6. obj.success = function (res) {
  7. resolve(res)
  8. }
  9.  
  10. obj.fail = function (res) {
  11. reject(res)
  12. }
  13.  
  14. fn(obj)
  15. })
  16. }
  17. }
  18.  
  19. module.exports = {
  20. httpsPromisify: httpsPromisify
  21. }
  22.   

调用方法:

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,这个亲测完美,而且文件大小比其他在都小很多,所以建议大家使用。






免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。