获取axios的return值

因axios返回值是异步操作,获取返回值时,请求操作还未完成,就已经执行了赋值,导致结果位undefined。错误示例如下:

function GetData(){
    let data;
    axios.get(请求地址, { params: param }).then(res => {
        data = JSON.stringify(res.data.rows);
    }).catch(err => {
        console.log(err);
    });
    return data;
}
const data=GetData();

2.解决方法使用async….await,async声明发放为异步方法,await等待异步操作执行完毕。

async function GetData() {
    
    
    let data;
    await axios.get(请求地址, {
    
     params: param }).then(res => {
    
    
        data = JSON.stringify(res.data.rows);
    }).catch(err => {
    
    
        console.log(err);
    });
    return data;
}

3.异步方法返回值为promise对象,接收时需要通过.then(res=>{})接受,值存在res中。

GetData().then(res => {
    
    
      console.log(res);
});

如有转载请注明来源,洋葱先生(http://www.dreamload.cn/blog/?p=922)

猜你喜欢

转载自blog.csdn.net/Kindergarten_Sir/article/details/108601127