3

以下のコードを実行していますが、スタック サイズを超えてしまい、その理由がわかりません。コードは、より少ないアイテムで正常に機能します (最大 1000 でテスト済み)。より多くのアイテムを試してみると、常にこのエラーが発生します。私はParse sdkを使用しています。

d:\GitHub\ExampleProj\node_modules\parse\build\parse-latest.js:785
    each(slice.call(arguments, 1), function(source) {
               ^
RangeError: Maximum call stack size exceeded

何か案は?ここにコードのクリーンバージョンがあります

var q = async.queue(function (user, callback) {
    user.signUp(null, {
        success: function(user) {
            callback();
        },
        error: function(user, error) {
            callback();
        }
    });
}, 100);

q.drain = function() {
    console.log('All items have been processed');
};

// ~17000 items
for(var i=0; i < sqlFiles.length; i++) {
    var user = {
        ...
    };

    q.push(user);
}
4

1 に答える 1

5

ノード スタック サイズは、v8 エンジンを搭載したブラウザーのスタック サイズと似ていますが、25 000 のようです。ただし、コンソール パラメータを使用して増やすことができます。

node --stack-size=1000000000 file.js
于 2013-11-09T11:36:03.197 に答える