如何在当前范围/块之外定义const?

时间:2016-06-17 03:14:08

标签: javascript scope try-catch const

我编写的代码有点像这样:

try {
    const row = functionToGetStuffFromDatabase('SQL QUERY here');
} catch (err) {
    functionToDealWithError('Error: ' + err);
}
functionToProcessDatabaseResult(row);

但是,我无法访问row并将其作为参数传递给processDatabaseResult,因为它是在try块的范围内定义的。并且,我无法在try块之外定义它并将其设置在块内,因为我无法更改const。我知道我可以使用普通变量,但我想知道是否有任何方法可以使用const s?

2 个答案:

答案 0 :(得分:0)

常量是块作用域的,就像使用let语句定义的变量一样。有关详细信息,请查看此link

答案 1 :(得分:0)

由于区块划分,您无法完全按照您的编写方式执行此操作。

您可以尝试重新安排代码。

function functionToGetStuffFromDatabase(query){
    try {
       doDatabaseQuery(query)
    } catch (err) {
       functionToDealWithError('Error: ' + err);
    }
}

const row = functionToGetStuffFromDatabase('SQL QUERY here');
functionToProcessDatabaseResult(row);