axios 变量不能在函数[重复]内更改

0lvr5msh  于 2023-05-17  发布在  iOS
关注(0)|答案(1)|浏览(122)

此问题已在此处有答案

Why is my variable unaltered after I modify it inside of a function? - Asynchronous code reference(7个回答)
6小时前关闭

var someVariable;

axios
  .get(
    `example.com`
  )
  .then((result) => {
    someVariable = 1;
    console.log(someVariable);
    // Prints 1
  });

console.log(someVariable);
// Prints undefined

为什么我修改了变量,它仍然显示undefined

nukf8bse

nukf8bse1#

因为这就是JavaScript中变量作用域和promise的工作方式。'someVariable'只存在于回调和函数中,并且应该这样做,因为它是一个异步操作,所以没有理由像在代码段中那样在回调之外使用它。
当你在函数外声明它时,它仍然是未定义的。
我建议你阅读有关promise如何工作以及如何使用async/await处理它们的文档。

相关问题