vue axios二次封装返回promise 调用时如何读取

一直傻了没懂then调用什么意思,其实是在调用接口的地方使用then。
下面各自截取部分来讲述。

首先我在http.js里面对axios进行了封装。

// 响应拦截器
var instance = axios.create({    timeout: 1000 * 12});
instance.interceptors.response.use(
    // 请求成功
    res => res.status === 200 ? Promise.resolve(res) : 
    });

然后把全部调用都写在了index.js里面。

const order = {
    Get_Order(userId){
        return axios.post(`${base.order}/GetOrderByInfo/`,
            {'userId':userId}
        );
    }
};

main.js全局注册挂载。

import api from './api'
Vue.prototype.$api = api; // 将api挂载到vue的原型上

然后组件里在methods中调用接口,加上then就可以获取promise里面的value。

                this.$api.order.Get_Order(userId)
                    .then((res) => {
                            console.log(res.data);
                            if (res.data.result !== "fail") {
                                console.log(res.data.orders);
                            }
                        }
                    );
            },

猜你喜欢

转载自blog.csdn.net/qq_41337100/article/details/106668265