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); } }); });}
登录后复制
修改点:
将 promise 实例返回。通过箭头函数简化 _wxrequest2.default.post() 中的回调函数。在成功时将 res 作为 promise 的 resolve 值传递。
以上就是如何将异步请求函数 `home_barlist1` 封装成 Promise,以便使用 `this.home_barlist1().then` 进行调用?的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2653092.html