代码中 SimpleReuseStragegy.snapshorts[key]
要求输入一个非空值,而 handle
的类型有可能是空,所以如果允许 SimpleReuseStragegy.snapshots[key] = handle
的话就有可能造成空异常(比如 SimpleReuseStragegy 在使用某个 snapshot 的时候以为它是非空的,但实际是空)。
所以从逻辑上来说,这个赋值应该更严谨一些,加上空判断
if (handle !== null) { // 或者 if (!handle) ;在 DetacheRouteHandle 只可能是函数类型时可以这样简化
SimpleReuseStragegy.snapshots[key] = handle;
}
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…