我编写的代码有点像这样:
try {
const row = functionToGetStuffFromDatabase('SQL QUERY here');
} catch (err) {
functionToDealWithError('Error: ' + err);
}
functionToProcessDatabaseResult(row);
但是,我无法访问row
并将其作为参数传递给processDatabaseResult
,因为它是在try
块的范围内定义的。并且,我无法在try块之外定义它并将其设置在块内,因为我无法更改const
。我知道我可以使用普通变量,但我想知道是否有任何方法可以使用const
s?
答案 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);