Рекурсия и setTimeout в JavaScript

У меня есть рекурсивная функция в моем файле JavaScript. Это выглядит примерно так:

function process(node){
    if(someCondition)
        return someValue;
    a = process(node.children);
    b = doSomething(a);
    return b;
}

Проблема в том, что я хочу отображать состояние системы для вывода HTML на каждом шаге этой рекурсии. Должна быть задержка между каждым шагом. (Просто предположим, что я хочу отображать рекурсию вживую для пользователей). На любом другом языке я бы использовал вызов delay () внутри функции, но поскольку JavaScript не поддерживает ничего, кроме setTimeout (), чтобы сделать что-то подобное, я заблудился, потому что я не знаю, как использовать вызов setTimeout в этом конкретном случае. case.

Обычно в более простых случаях я бы использовал что-то вроде этого:

function process(node){
    if(someCondition)
        return someValue;
    setTimeout("process(node.children)", delay);
}

, но, поскольку моя исходная функция возвращает значение, я не знаю, как поступить.

Заранее спасибо.

1
задан Niyaz 3 September 2010 в 06:51
поделиться