Как справиться с переполнением стека при рекурсивном вызове функции? - PullRequest
0 голосов
/ 26 августа 2018

Я хочу iterate all nodes of tree view

поэтому, когда у меня есть огромное количество узлов в то время переполнение стека произошло так, как справиться с этой ситуацией, так как я должен перебрать все узлы.

var datas= getdatas();

    function treenode() {
        var item = datas.pop();

        if (item) {
        //some operation 
            treenode();
        }
    };
  treenode();

1 Ответ

0 голосов
/ 26 августа 2018

Эй, ребята, я нашел решение с функцией settimeout

Теперь я не получаю ошибку переполнения стека при перемещении

стек простых вызовов для вызовов на основе событий .

var datas= getdatas();

    function treenode() {
        var item = datas.pop();

        if (item) {
        //some operation 
         setTimeout(treenode,0);
        }
    };
  treenode()
...