如何从axios返回数据响应

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何从axios返回数据响应相关的知识,希望对你有一定的参考价值。

我有问题,当我调用波纹管代码之类的函数时,如何从axios返回响应数据以便可以访问

import react,{useState} from 'react'
import axios from 'axios'

export default function getAPI (v){
    var dataJson
    axios.post(v)
    .then((res)=>{
        dataJson =  res.data
    })
    console.log(dataJson)
    // how to return the json respone data in order can accessed by other function
    return dataJson
}

我写的脚本,dataJson未定义

答案
您可以通过这种形式使用Ecmascript 7的async / await来实现此目的

import react,{useState} from 'react' import axios from 'axios' export default async function getAPI (v) { const res = await axios.post(v); return res.data; }

另一答案
您可以使用async / await轻松实现这一目标。

export default async function getAPI (v){ var res = await axios.post(v) console.log(res.data) return res.data }

或者,您可以传递一个可以从then部分中调用的回调函数,如下所示

export default function getAPI (v, callbackFn){ axios.post(v) .then((res)=>{ dataJson = res.data console.log(dataJson) // this would print response callbackFn(dataJson) }) }

以上是关于如何从axios返回数据响应的主要内容,如果未能解决你的问题,请参考以下文章

Axios 拦截器 - 如何从 vuex 商店返回响应

如何根据响应的错误代码返回自定义 axios 响应

如何从返回 axios 的响应对象访问 JWT 令牌值?

从 axios 的响应头中获取数据

无法从axios返回结果

从axios响应头中获取值[重复]