vue项目中使用axios.all处理并发请求报_util2.default.axios.all is not a function异常

报错

_util2.default.axios.all is not a function

代码:

init () {
            util.axios.all([this.getCourseInit(), this.getConfirmInit()])
                .then(util.axios.spread((indexRes, confirmRes) => {
                    // 两个请求现在都执行完成
                    this.classData = indexRes.data.today_course.map(item => {
                        item.time = timeUtil.formatDate2Str(item.start_time, 'HH:mm') + '~' + timeUtil.formatDate2Str(item.end_time, 'HH:mm');
                        return item;
                    });
                    this.count.count_course_today = indexRes.data.count.count_course_today;
                    this.count.count_student_not = indexRes.data.count.count_student_not;
                    this.count.count_student_all = indexRes.data.count.count_student_all;
                    this.count.count_teacher_all = indexRes.data.count.count_teacher_all;

                    this.isLoading = false;
                }));
        },
        getCourseInit () {
            return util.axios.get('/index');
        },
        getConfirmInit () {
            return util.axios.get('/course-confirm');
        },

原因:

axios实例没有all这个方法,allaxios的静态方法

解决办法:

以下方法不是最好的,还没找到更好的解决办法,目前先这样解决。
// 引入axios 
import axios from 'axios';

init () {
            axios.all([this.getCourseInit(), this.getConfirmInit()])
                .then(axios.spread((indexRes, confirmRes) => {
                    // 两个请求现在都执行完成
                    this.classData = indexRes.data.today_course.map(item => {
                        item.time = timeUtil.formatDate2Str(item.start_time, 'HH:mm') + '~' + timeUtil.formatDate2Str(item.end_time, 'HH:mm');
                        return item;
                    });
                    this.count.count_course_today = indexRes.data.count.count_course_today;
                    this.count.count_student_not = indexRes.data.count.count_student_not;
                    this.count.count_student_all = indexRes.data.count.count_student_all;
                    this.count.count_teacher_all = indexRes.data.count.count_teacher_all;

                    this.isLoading = false;
                }));
        },
        getCourseInit () {
            return util.axios.get('/index');
        },
        getConfirmInit () {
            return util.axios.get('/course-confirm');
        },



Logo

前往低代码交流专区

更多推荐