首页 > 解决方案 > 如何在 axios 中创建一个全局变量?

问题描述

所以,我只是在学习 axios 并且一切看起来都正确,但我想我不了解有关全局范围的一些东西。这是我的代码:

axios.get('https://api.github.com/users/social-collab')
.then(function (response) {
console.log('Response: ', response.data);
const data = response.data;
return data;
})
.catch(function (handleError) {
console.log('Error: ', handleError);
},[]);

const myData = function(data) {

name = data.name; // This is the line with the error: data is not defined. But it is, isn't it?
return name;
}

console.log(myData(data));

标签: javascriptfunctionvariablesaxiosglobal-variables

解决方案


您不需要全局范围,只需将另一个.then与您的 function链接起来myData

const myData = function(data) {
  name = data.name;
  console.log('name:', name)
  return name;
}

axios.get('https://api.github.com/users/social-collab')
.then(response => {
  const data = response.data;
  return data
})
.then(myData)
.catch(err => {
  console.log('Error: ', err);
})
<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>

从 Promises 中获取数据的方法是向.then.


推荐阅读