我在JavaScript文件中有一個遞歸函數。它看起來是這樣的:JavaScript中的遞歸和setTimeout
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);
}
,但因爲我原來的函數返回一個值,我不知道如何着手。
在此先感謝。
有你想要顯示它活到用戶的任何原因?如果你能解釋一下,也許我們可以改變主意或者向你提出一些不同的建議。 – Alex 2010-09-04 02:40:40