我正面临这个奇怪的问题,我的数组变量的内容在嵌套函数中是可用的,但是在声明它的同一级别上没有?
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)
为什么会出现这种情况?
答案 0 :(得分:2)
填充opted_out
的代码是异步的。 1}}填充了console.log
之前实际执行的opted_out
。
当服务器响应您的请求时,将执行.then
调用中的功能。