将api数据发送回express中的vue将返回空对象

将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

我正在尝试使用我的app.js中的以下内容从我的express应用程序发回一些数据。这些数据来自第三方api,我想将其发回我的前端应用程序。我可以在我的express api中看到内容,但它似乎没有向我的前端交付结果??任何人都知道为什么我会在控制台中看到下面的日志

我怀疑这与express应用程序的一些异步或超时问题有关,但我自己还没能解决这个问题

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,因此感谢您的帮助