请问一个Promise 的问题?

作者站长头像
站长
· 阅读数 22
  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 这种 直接调用this.home_barlist1().then 该怎么改呢?

我改成下面这样 好像不行

 home_barlist1: function home_barlist1() {
    //获取中间导航 
  return new Promise(function (resolve, reject) {
    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
        });
        resolve(res);
      } else {
        _tip2.default.toast(res.data);
      }
    });
   });
 },
回复
1个回答
avatar
test
2024-06-19

answer image

你这不本来就是一个 Promise 么?直接把箭头处 return 出去就不完了?

回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容