无法从AJAX

时间:2018-01-22 06:10:15

标签: ajax vue.js axios

嗨我无法从函数中返回值。它返回undefined。我不知道为什么。以下是代码。

function getData() {
    axios.get('/task')
        .then(response => {
              return response.data.tasks;
        });
}

//calls the function
getData();

但是当我调用函数getTaskData时,它只返回undefined。

请帮忙。谢谢。

2 个答案:

答案 0 :(得分:0)

在这种情况下你正在处理Promises。它们的行为与JavaScript中的典型函数不同。我建议从一些基础开始:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise

关于您的问题,getData不返回任何内容,您提供的代码中也没有getTaskData

答案 1 :(得分:0)

正如预览回复中所述,你正在处理承诺, 你需要等待完成你的Ajax请求,然后你处理响应, 在您的代码中,您可以这样做

async function getData() {
  const response = await axios.get('/task')
  return response
}

使用回调调用Promise

的成功和失败案例的函数
getData()
  .then(response => {
    console.log(response.data.tasks)
  })
  .catch(error => {
    console.log("ERROR")
  })