如何在小程序中封装函数为 Promise 并获取请求数据?

如何在小程序中封装函数为 promise 并获取请求数据?

promise 封装问题解答

在小程序中,我们想要封装函数为 promise,以便可以通过 .then() 方法调用。下面是您提供代码的 promise 封装修改思路:

原本的 home_barlist1 函数中,发送请求并成功后会修改 homelist1 数据,但没有返回任何值。我们需要在请求成功后返回一个 promise 并将其解析。

修改后的代码如下:

home_barlist1: function home_barlist1() {
  return new Promise((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);  // 解析 Promise,传递响应数据
      } else {
        _tip2.default.toast(res.data);
      }
    });
   });
},

在修改后的代码中,我们将 resolve(res) 添加到请求成功的回调函数中,当请求成功时解析 promise,并将响应数据作为参数传递给 resolve 函数。这样,我们就可以在外部使用 .then() 方法获取请求的响应数据了。

以上就是如何在小程序中封装函数为 Promise 并获取请求数据?的详细内容,更多请关注硕下网其它相关文章!