代码之家  ›  专栏  ›  技术社区  ›  Kel

未捕获(承诺中)范围错误:HTML2Canvas中超过了最大调用堆栈大小

  •  0
  • Kel  · 技术社区  · 7 年前

    我如何解决这个问题?

    function flatten(arrays) {
        return [].concat.apply([], arrays);
    }
    


    Uncaught (in promise) RangeError: Maximum call stack size exceeded
    at flatten (html2canvas.js:2650)
    at new NodeParser (html2canvas.js:1861)
    at renderWindow (html2canvas.js:1019)
    at html2canvas.js:1006
    at <anonymous>
    

    请帮忙

    1 回复  |  直到 7 年前
        1
  •  1
  •   Derek 朕會功夫    7 年前

    您可能向函数传递了大量数组。你可以试试这样:

    function flatten(arrays){
        return arrays.reduce(function(prev, curr){
            return prev.concat(curr);
        }, []);
    }
    
    var matrix = [
        [1, 2],
        [3, 4]
    ];
    flatten(matrix);    // [1, 2, 3, 4]