我面临这个奇怪的问题,我的数组变量的内容在嵌套函数中可用,但不在声明它的同一级别上?
const add_opted_out = (req, res) => {
var opted_out = new Array()
axios.get(url).then((res) => {
parseString(res.data, (err, result) => {
opted_out.push('a')
// prints members
console.log(opted_out)
})
}).catch((err) => {
console.log(`error occured: ${err}`)
})
// prints nothing
console.log(opted_out)
为什么会出现这种行为?
最佳答案
填充opted_out
的代码是异步的。在填充 opted_out
之前,您的 console.log
不打印任何实际执行的内容。
当服务器响应您的请求时,将执行 .then
调用中的函数。
关于javascript - 数组在嵌套函数中可用,但不在同一级别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48230071/