如何处理返回内部回调变量?

时间:2017-08-29 12:29:31

标签: javascript node.js ecmascript-6 functional-programming

如何在回调中访问变量而不先将变量重新分配给变量?

例如,以下代码有效:

let volume = 0;
loudness.getVolume((err, vol) => {
    volume = vol;
});

但如果我希望它可以直接分配给const怎么办?以下返回undefined:

const volume = loudness.getVolume((err, vol) => vol));

1 个答案:

答案 0 :(得分:2)

简短的回答是你不能。回调函数存在于与其余代码隔离的自己的范围中。提取要在其余代码中使用的信息的唯一方法是将其分配给父作用域中存在的变量。

简单来说,做你在第一个例子中所做的事情。