小程序已经支持Promise了,可以直接使用
不过,小程序的API的参数格式都比较统一,只接受一个object参数,回调都是在这个参数中设置,所以,这为了统一处理提供了便利,写一个工具方法,来完成这样的工作
首先需要引用一个叫bluebird.js的文件;
进入
bluebird官网下载:
然后再写一个JS,里面写工具方法:
下面是prom.js
var Promise = require('./bluebird') function wxPromisify(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 = {
wxPromisify: wxPromisify
}
然后需要使用的那个页面的js里引入prom.js:
调用:
getCompanyMsg : function(){},
onLoad:function () {
var that = this; prom.wxPromisify(wx.getStorage) ({ key: 'company_id', }).then(function (res) { that.setData({ companyId: res.data }); }).then(function () { prom.wxPromisify(wx.getStorage) ({ key: 'header', }).then(function (res) { that.setData({ header: res.data }); }).then(function () { that.getCompanyMsg() }) }) }