我一直在尝试使用const,但我经常发现自己处于不得不使用let的境地。
例如:
let value
try {
value = couldFail()
} catch(e) {
value = etc()
}
doSomethingWith(value)有没有一种通用的方法来重组这些东西?
-编辑--
我有一个想法:
const tryCatch = (a, b) => {
try { return a() }
catch(e) { return b(e) }
}
const value = tryCatch(couldFail, etc)这会带来什么问题吗?
发布于 2015-09-29 19:33:39
不能使用const,因为可以先在try子句中赋值,然后在catch子句中赋值。如果您绝对希望变量是常量,则可以创建一个在try和catch子句中赋值的临时变量,然后添加一个finally子句,在该子句中将临时变量赋给常量变量。
https://stackoverflow.com/questions/32842732
复制相似问题