将api数据发送回express中的vue将返回空对象
我正在尝试使用我的app.js中的以下内容从我的express应用程序发回一些数据。这些数据来自第三方api,我想将其发回我的前端应用程序。我可以在我的express api中看到内容,但它似乎没有向我的前端交付结果??任何人都知道为什么我会在控制台中看到下面的日志 我怀疑这与express应用程序的一些异步或超时问题有关,但我自己还没能解决这个问题将api数据发送回express中的vue将返回空对象,express,vue.js,Express,Vue.js,我正在尝试使用我的app.js中的以下内容从我的express应用程序发回一些数据。这些数据来自第三方api,我想将其发回我的前端应用程序。我可以在我的express api中看到内容,但它似乎没有向我的前端交付结果??任何人都知道为什么我会在控制台中看到下面的日志 我怀疑这与express应用程序的一些异步或超时问题有关,但我自己还没能解决这个问题 function getFish(){ axios.get('https://www.fishwatch.gov/api/spec
function getFish(){
axios.get('https://www.fishwatch.gov/api/species')
.then(function (response) {
console.log(response)
return response
})
.catch(function (error) {
console.log(error);
})
}
app.get('/getFish', async(req,res) =>{
let fish = await getFish()
res.json({fishes: fish})
})
当我尝试在我的应用程序中记录数据时,我只得到一个空对象
{}
下面是我的vue代码,用于记录express api返回的值
created:function(){
this.fetchFish()
},
methods: {
fetchFish(){
fetch('http://localhost:3000/getFish')
.then((response) => {
return response.json();
})
.then((data) => {
console.log(data);
});
}
}
您需要在服务器的
getFish
功能中返回axios
承诺,否则/getFish
路径将不会等待任何内容:
函数getFish(){
//新的“return”语句
返回axios.get('https://www.fishwatch.gov/api/species')
.然后(功能(响应){
console.log(响应)
返回响应
})
.catch(函数(错误){
console.log(错误);
})
}
是的,这对我很有效,我现在可以在getFish路径中看到数据:)我从未使用过axios,但无法在后端使用fetch,因此感谢您的帮助