小程序模板网

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

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



易优小程序(企业版)+灵活api+前后代码开源 码云仓库:starfork
本文地址:https://www.eyoucms.com/wxmini/doc/course/18191.html 复制链接 如需定制请联系易优客服咨询:800182392 点击咨询
QQ在线咨询