如何递归调用函数时如何处理堆栈溢出?

时间:2018-08-26 04:18:26

标签: javascript recursion stack-overflow

我要 iterate all nodes of tree view

所以当我那时有大量节点时 发生堆栈溢出,因此如何处理这种情况,因为我必须迭代所有节点。

var datas= getdatas();

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

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

1 个答案:

答案 0 :(得分:0)

伙计们,我发现了具有settimeout函数的解决方案

现在我没有通过移动

得到堆栈溢出错误

简单的呼叫堆栈到基于事件的呼叫

var datas= getdatas();

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

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