【发布时间】:2011-04-07 17:00:45
【问题描述】:
我的 JavaScript 文件中有一个递归函数。它看起来像这样:
function process(node){
if(someCondition)
return someValue;
a = process(node.children);
b = doSomething(a);
return b;
}
问题是我想在这个递归的每一步将系统的状态显示到 HTML 输出中。每个步骤之间应该有一个延迟。 (假设我想向用户实时显示递归)。在任何其他语言中,我都会在函数内部使用 delay() 调用,但由于 JavaScript 不支持 setTimeout() 之外的任何东西来执行此类操作,因此我迷路了,因为我不知道如何在这个特定的环境中使用 setTimeout 调用案例。
通常在更简单的情况下,我会使用这样的东西:
function process(node){
if(someCondition)
return someValue;
setTimeout("process(node.children)", delay);
}
;但是由于我的原始函数返回一个值,我不知道如何进行。
提前致谢。
【问题讨论】:
-
您有什么理由要向用户实时显示它吗?如果您愿意解释,也许我们可以改变您的想法或向您提出不同的建议。
标签: javascript recursion timeout settimeout