如何将从 axios 返回的 json 保存在变量中?

kyl*_*506 7 javascript debugging node.js npm axios

我想将从 axios 返回的 json 保存到变量中。目前我只能在使用以下代码 console.log(response.data) 时看到它:

function status() {
  const url = "https://api.com";
  axios.get(url).then(function (response) {
    console.log(response.data);
  });
}
status(); // console.logs object successfully
Run Code Online (Sandbox Code Playgroud)

如果我只是将 response.data 设置为变量而不是记录它,它会保持空白( {} )。我想做这样的事情:

let data = {};
function status() {
  const url = "https://api.com";
  axios.get(url).then(function (response) {
    data = response.data;
  });
}
status();
console.log(data); // {}
// I want to manipulate and use the properties of data in subsequent code here
Run Code Online (Sandbox Code Playgroud)

请问我怎样才能做到这一点?感谢您的帮助。

Rah*_*obe 5

该函数axios.get(url)返回一个Promise. async/await你可以像这样使用。

 async function status() {
  const url = "https://api.com";
  let response = await axios.get(url);
  return response.data;
}

status().then((data) => console.log(data));

Run Code Online (Sandbox Code Playgroud)