我有一个close
可以关闭某些实例的功能。包含该函数的类允许派生类覆盖close
。在这里,我想确保即使在派生类中也close
总是调用。dispose
我通过以下方式实现了这一点。
function close() {
closeCore();
dispose();
}
function closeCore() {
// derived class can override this method.
}
这很好用,但我有一种情况,我想在处置实例之前执行 CSS 动画。这就是我所做的。
function close () {
instance.classList.add("fancy-animation-that-takes-800ms");
setTimeout(function () {
dispose();
},800);
}
但是一旦我这样做了,我使用的模板模式就无法应用了。有没有办法确保 close 函数在第二个示例中始终调用 dispose ?