如何在回调中访问变量而不先将变量重新分配给变量?
例如,以下代码有效:
let volume = 0;
loudness.getVolume((err, vol) => {
volume = vol;
});
但如果我希望它可以直接分配给const
怎么办?以下返回undefined:
const volume = loudness.getVolume((err, vol) => vol));
答案 0 :(得分:2)
简短的回答是你不能。回调函数存在于与其余代码隔离的自己的范围中。提取要在其余代码中使用的信息的唯一方法是将其分配给父作用域中存在的变量。
简单来说,做你在第一个例子中所做的事情。