解决vue中axios同步的问题
export function getDicsList(){ var result ={}; Axios.get('../../static/getdicsList.json').then((res)=>{ result =res; }) return result; }
如果有类似上面的需求,我要在请求完成后,对数据进行赋值,然后在后面的语句中要操作数据,比如返回它。如果是同步机制,那么最后我可以成功返回result的值,但是axios是异步的。并且axios不像jq的ajax提供async属性,设置 false就可以。
但是es6 的promise 逐步解决了层层回调的问题,es8的async await让异步变成了同步的写法。
可以将上面写法写成
export async function getDicsList(){ var result =await Axios.get('../../static/getdicsList.json'); return result; }
这个时候 ,result就是我要获取得值。需要注意的是,返回的仍然是promise
本文来自博客园,作者:zhupan,转载请注明原文链接:https://www.cnblogs.com/zhupanpan/p/11319305.html

浙公网安备 33010602011771号