axios.all 并发多次发起请求?

发布于 2022-09-06 22:55:49 字数 2021 浏览 9 评论 0

getInfo(){

    var that = this
    
    let obj = {
        banner: axios.get(that.url + 'home.php?Action=banner&setaction=banner'),
        logo: axios.get(that.url + 'home.php?Action=advertising&setaction=logo'),
        code: axios.get(that.url + 'home.php?Action=advertising&setaction=code'),
        himg: axios.get(that.url + 'home.php?Action=advertising&setaction=himg'),
        link: axios.get(that.url + 'home.php?Action=infolist&QType=link'),
        qq: axios.get(that.url + 'home.php?Action=infocontent&setaction=qq'),
        mail: axios.get(that.url + 'home.php?Action=infocontent&setaction=mail'),
        phone: axios.get(that.url + 'home.php?Action=infocontent&setaction=phone'),
        Hotline: axios.get(that.url + 'home.php?Action=infocontent&setaction=Hotline')
    }
    
    return obj
    }
var that = this

    axios.all([that.getInfo().banner, that.getInfo().logo, that.getInfo().code,
        that.getInfo().himg, that.getInfo().link, that.getInfo().qq, that.getInfo().mail,
        that.getInfo().phone, that.getInfo().Hotline
    ])
    .then(axios.spread(function(banner,logo,code,himg,link,qq,mail,phone,Hotline){
        that.banner = banner.data
        var swiper1 = new Swiper('.banners', {
            pagination: {
                el: '.swiper-pagination',
            },
            autoplay: true,
            speed: 800,
            observer:true,
        });
        that.logo = logo.data.photo
        that.code = code.data.photo
        that.htxtimg = himg.data.photo
        that.link = link.data
        that.qq = qq.data.Content
        console.log(qq);
        that.mail = mail.data.Content
        that.phone = phone.data.Content
        that.Hotline = Hotline.data.Content
    }))

图片描述

如图,axios.all()里面有多少个,就会请求少次,不是同时一齐只发一次...
各路大神有没什么解决方案,或是拆开一个一个发?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

酸甜透明夹心 2022-09-13 22:55:50

请求是在getInfo里一起发的啊

多彩岁月 2022-09-13 22:55:50

axios.all()的目的是批量发送请求,等所有请求都有返回时,再执行统一的回调,并不是把所有的请求合并成同一个请求发送

み青杉依旧 2022-09-13 22:55:50

不能,因为https://github.com/axios/axio...
需要的话可以自己实现

毁虫ゝ 2022-09-13 22:55:50

@Jon_Li 解释的很清楚。
你把接口写成多个,又妄想axios给你合并到一起!axios库的功能没弄清楚吧

浪菊怪哟 2022-09-13 22:55:50

你接口设计的问题吧。axios不会合并请求,你有多少个请求它就会发出多少个请求,对于浏览器来说一次可以发出的请求是有上限的,对于ajax来说,任何的请求都会有一个等待的过程(或多或少)。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文