Es6 Promise执行返回reject却还是报错
- 当前 Bug 的表现(可附上截图)
- 上次进入页面后缓存了用户storage(unionid,value);(key,value)
当循环中的unionid不在缓存中的时候确实是走了reject方法,但是同时报警告了
//引入工具方法
var prom = require(“…/…/…/utils/prom.js”);
//获取数据 遍历数据
e.data.map((item, index, arr) => {
//如果数据在缓存中执行dosomething
//如果数据不在缓存中答应error
prom.wxPromisify(wx.getStorage)({
key: item.unionid,
}).then(function(res){…//dosomething},
function(error){console.log(“error”)})//确实打印了,但是报错了
}
- 非侵入性的工具方法
var Promise = require(‘bluebird.js’);
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
}
