axios请求获取到返回值
最近在学习Vue,碰到一个问题就是需要从后端获取到某个返回值之后再运行后面的代码。
一般调用axios接口都是这样的格式。
this.$axios.post('api/xxxx/xxxxx', this.$qs.stringify({ username: 'qwerqw', password: '123456' })).then(res => { ... ... }).catch(error => { ... ... })
这样的格式要想获取到返回值的话,就要将代码都写在then
中,阅读代码的时候不是很清晰。于是网上各种搜,最后觉得这种方法能解决我的强迫症。
login: async function() { let result = await new Promise((resolve,reject) => { this.$axios.post('api/xxxx/xxxxx', this.$qs.stringify({ username: 'qwerqw', password: '123456' })).then(res => { resolve(res.data) }).catch(error => { console.log(error) }) }) ... ... }
-
1
-
2
-
3
-
4
-
5
-
6
-
7
-
8
-
9
-
10
-
11
-
12
-
13
-
14
-
15
-
16
按照这种方式去获取到后端的返回值,就可以将剩下的逻辑放在axios请求外面了。
我的理解是,axios是一种异步请求方法,需要用await关键词修饰,等到获取到返回值后再执行后面的代码。在使用await时,需要再function前添加async关键词。
蓝蓝设计建立了UI设计分享群,每天会分享国内外的一些优秀设计,如果有兴趣的话,可以进入一起成长学习,请扫码蓝小助,报下信息,蓝小助会请您入群。欢迎您加入噢~~希望得到建议咨询、商务合作,也请与我们联系。
文章来源:csdn 作者:灰羊驼
分享此文一切功德,皆悉回向给文章原作者及众读者.
免责声明:蓝蓝设计尊重原作者,文章的版权归原作者。如涉及版权问题,请及时与我们取得联系,我们立即更正或删除。
蓝蓝设计( www.lanlanwork.com )是一家专注而深入的界面设计公司,为期望卓越的国内外企业提供卓越的UI界面设计、BS界面设计 、 cs界面设计 、 ipad界面设计 、 包装设计 、 图标定制 、 用户体验 、交互设计、 网站建设 、平面设计服务