Javascript axios请求的问题

Javascript axios请求的问题,javascript,asynchronous,request,Javascript,Asynchronous,Request,我无法让axios请求正常工作。我正在遵循我的一门课程中展示的模式。有趣的是,我可以console.log数据,但不能返回数据并将其保存到变量中。任何帮助都将不胜感激。 祝你今天愉快 const get = async () => { const res = await axios.get( "https://www.themealdb.com/api/json/v1/1/list.php?i=list" ); return res; }; asy

我无法让axios请求正常工作。我正在遵循我的一门课程中展示的模式。有趣的是,我可以console.log数据,但不能返回数据并将其保存到变量中。任何帮助都将不胜感激。 祝你今天愉快

const get = async () => {
  const res = await axios.get(
    "https://www.themealdb.com/api/json/v1/1/list.php?i=list"
  );
  return res;
};

async
表示函数返回承诺。这是一个基本事实

const get = async () => {
  const res = await axios.get(
    "https://www.themealdb.com/api/json/v1/1/list.php?i=list"
  );
  return res;
};

get().then(result => {
   console.log(result);
})
请阅读:

但是,在这种情况下,您不需要
async
,因为
axios
已经返回了一个承诺

const get = () => axios.get("https://www.themealdb.com/api/json/v1/1/list.php?i=list")

您应该返回res.data

import axios from 'axios';
    
    const get = async () => {
      const res = await axios.get(
        "https://www.themealdb.com/api/json/v1/1/list.php?i=list"
      );
      return res.data;
    };
    
    const print = async()=>{
      const resp = await get();
      console.log(resp);
    }
    
    print();

return
res.data
而不是
res
我已经尝试过了:/I仍然得到了挂起的承诺。您如何调用
get
,我的意思是这样
get()
或者这样
wait get()
我在函数名之前没有异步调用它。1。您应该像上面提到的Piyush一样返回
res.data
。2.我认为您可能需要检查cors策略,这可能是您的响应被阻止的原因我没有定义。。。我不知道如何解决这个问题。@nietopowyinformatyk您可以将您的尝试添加到您的帖子``const get=()=>{axios.get(“)。然后((res)=>console.log(res));}“``而且它工作得很好。但是当我尝试存储数据时,事情会变得很疯狂。@nietopowyinformatyk我想你没有完全理解承诺和箭头函数?在箭头函数中你使用括号
{}
在我的例子中我没有。我没有忘记它们。如果你写一个没有括号的箭头函数,箭头右边的表达式将自动返回。但是如果你写一个括号,它将不会自动返回,这意味着你的函数不返回任何内容。不返回任何内容意味着
未定义我不能让它工作…但我真的很想理解这一点。我想我将参加一些临时讲座。我将重述这个主题。