登录
首页 >  文章 >  前端

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

时间:2024-12-22 11:33:45 220浏览 收藏

IT行业相对于一般传统行业,发展更新速度更快,一旦停止了学习,很快就会被行业所淘汰。所以我们需要踏踏实实的不断学习,精进自己的技术,尤其是初学者。今天golang学习网给大家整理了《如何将异步请求函数 `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 值传递。

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于文章的相关知识,也可关注golang学习网公众号。

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>