【发布时间】:2016-06-17 03:14:07
【问题描述】:
我写的代码有点像这样:
try {
const row = functionToGetStuffFromDatabase('SQL QUERY here');
} catch (err) {
functionToDealWithError('Error: ' + err);
}
functionToProcessDatabaseResult(row);
但是,我无法访问 row 并将其作为参数传递给 processDatabaseResult,因为它是在 try 块的范围内定义的。而且,我无法在 try 块之外定义它并将其设置在块内部,因为我无法更改 const。我知道我可以只使用普通变量,但我想知道 consts 是否有任何方法可以做到这一点?
【问题讨论】:
-
您没有在
try范围内调用processDatabaseResult的任何原因? -
我希望能够以不同于处理数据导致的错误的方式处理数据库查询错误。
-
我最好的猜测是尝试
const window.myVar = value之类的方法,但这实际上会引发错误。我发现的next-best thing 正在制作一个自定义对象并在其上定义一个getter,而没有相应的setter,但这似乎有点矫枉过正。
标签: javascript scope try-catch constants