我正在尝试在Javascript中执行事件驱动的GUI。
由于这涉及很多回调,我想知道做这样的事情是否是一个好的设计(我用三点标记了不相关的代码):
function flipToPage(num) {
[...]
setupPage(..., function() {
flipToPage(num+1)
}
}
function setupPage(..., readyCallBack) {
var num = Object.keys(drawables).length;
for (drawable in drawables) {
drawable.draw(..., function() {
if (--num <= 0) {
readyCallBack();
});
}
}
}
我想知道上面是否会在某个时刻导致堆栈溢出,考虑到它是最终堆叠在彼此之上的无限递归事件。