如何将异步请求函数 `home_barlist1` 封装成 Promise,以便使用 `this.home_barlist1().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); } }); }
答案:
该代码经封装后,调用方式为 this.home_barlist1().then:
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((res) => { if (res.code == 100) { var homelist = res.data; that.setData({ homelist1: homelist }); resolve(res); } else { _tip2.default.toast(res.data); } }); }); }
修改点:
以上就是如何将异步请求函数 `home_barlist1` 封装成 Promise,以便使用 `this.home_barlist1().then` 进行调用?的详细内容,更多请关注硕下网其它相关文章!