如何将异步请求函数 `home_barlist1` 封装成 Promise,以便使用 `this.home_barlist1().then` 进行调用?

如何将异步请求函数 `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);            }        });    });}

登录后复制

修改点:

将 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

(0)
上一篇 2025年3月7日 09:08:52
下一篇 2025年2月24日 16:50:42

AD推荐 黄金广告位招租... 更多推荐

相关推荐

发表回复

登录后才能评论