如何将现有代码封装成 Promise 以便使用 `.then` 获取结果?

如何将现有代码封装成 promise 以便使用 `.then` 获取结果?

promise 封装问题

问题:
如何将以下代码封装 promise,以便可以直接调用 this.home_barlist1().then 获取结果?

home_barlist1: function home_barlist1() {
  //获取中间导航 
  var that = this;
  _wxrequest2.default.post({
    'url': _api2.default.home_barlist,
    'data': {
      show_type: 4
    }
  }).then(function (res) {
    if (res.code == 100) {
      var homelist = res.data;
      that.setdata({
        homelist1: homelist
      });
    } else {
      _tip2.default.toast(res.data);
    }
  });
}

回答:

您提供的代码已经是一个 promise 了,只需要将 return 移到箭头处即可:

home_barlist1: function home_barlist1() {
  //获取中间导航 
  return new Promise(function(resolve, reject) {
    // ... 其余代码
  });
}

以上就是如何将现有代码封装 Promise 以便使用 `.then` 获取结果?的详细内容,更多请关注硕下网其它相关文章!