axios 模拟同步请求

Posted 谁为含愁独不见,更教明月照流黄

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了axios 模拟同步请求相关的知识,希望对你有一定的参考价值。

axios本身没有同步请求,但是我们很多情况下必须得需要同步请求。那么应该怎么做?

 

上网查了一些资料有人说用es6的 async +  assert 我不知道有没有效果,因为我的功能中是没啥效果的。

那么怎么办?项目得接着写,说实话,作为一个后端开发,es6是属实不是很了解。但是我记得以前在某篇博客中见到过一个es6的新语法 promise,他好像可以。抱着试一下的心态,果然有效果!!!

使用详情请见 https://www.runoob.com/w3cnote/es6-promise.html

那么我的项目是vue项目,那么应该怎么用?

        listPers: function (parentId) {
                return new Promise((resolve, reject) => {
                    this.axios.get(‘/sysPer/add=pers‘, {
                        params: {
                            parentId: parentId,
                        }
                    }).then((res) => {
                        if (res.data.code === 200) {
                            if (this.sysPer.parentId1 === 0) {
                                this.firstMenu = res.data.datas;
                            } else if (this.sysPer.parentId1 > 0) {
                                this.secondMenu = res.data.datas
                            }
                            return resolve(true);
                        } else {
                            return resolve(false)
                        }
                    })
                })
            },        

那么这样我们可以这样调用该方法

this.listPers(0).then(res => {
        if(res){
           //执行的代码   
        }
});

以上是关于axios 模拟同步请求的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段14——Vue的axios网络请求封装

VSCode自定义代码片段14——Vue的axios网络请求封装

前端面试题之手写promise

反应本机 axios 请求在 IOS 模拟器中不起作用

模拟axios的创建[ 实现调用axios()自身发送请求或调用属性的方法发送请求axios.request() ]

模拟邮递员请求进入 Axios?