【发布时间】:2021-01-29 00:05:05
【问题描述】:
代码是:
var data;
axios.get('http://localhost:3000/api/goodNews').then(result => {
data = result;
console.log(data); //This work
return data;
});
console.log(data)//this don't work
目标是从 axios 得到答案,用在这段代码所在的组件中。但是,我无法从 Then () 函数中获取此信息。有时它返回未定义,如果你这样做:
var data;
data = axios.get('http://localhost:3000/api/goodNews').then(result => {
return result
});
console.log(data)//this don't work
返回 "Promise { }"
我已经试过了:
1
async function getData(){
var response = await axios.get('http://localhost:3000/api/goodNews').then(result => {
return result
});
return response
}
var data = getData();
console.log(data);
2
const [data, setData] = useState(null)
axios.get('http://localhost:3000/api/goodNews').then(result => {
setData(result);
return data;
}).catch(function (error) {
console.log(error);
});
console.log(data);
3
const [data, setData] = useState(null)
const getData = async ()=>{
var response = await axios.get('http://localhost:3000/api/goodNews').then(result => {
return result;
});
setData(response)
return response;
}
getData();
console.log(data);
OBS:我在一个 React 组件中,想使用返回的 TML 中的数据
如何从 then() 函数返回数据?
【问题讨论】:
-
这能回答你的问题吗? Fetching data with axios in react