微信小程序 es6-promise.js封裝請求 處理異步進程


下載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,這個親測完美,而且文件大小比其他在都小很多,所以建議大家使用。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM