2017-04-06 11 views
0

いくつかのコールバック関数を順番に呼び出すコードを書いていますが、あまりにも多くの引数があまりにも多くの引数に渡されていますコード受容性。ノードjs内の関数に渡される引数の数を減らす

validate.set(value1 , value2, value3, value4, value5, value6, value7, function(response){ 
some_other_function(value8, value9, value10, value11, value12, value13, function(response){ 
}) 
}) 

機能に渡されたが、それは良いプログラミングのために良いではありません得ている多くの値がありますが ので、他の関数内のすべてのこれらの引数を取得する方法がある(最大5つの変数は、我々は正しい渡す必要があります)私は考えました: 1.配列またはjsonのボディを構築し、送信します。 2.別個のモジュールを作成し、それらを取り出す(しかし、この方法は、関数が変更可能な値を取得しているためうまくいかない。つまり、ノードjに送られた要求から値を取り出して関数で送信するということである)

+0

が必要になる場合があります。 –

答えて

0

コードを変更し、ES6機能Rest Parametersを使用して開始してください。あなたは、私がこのケースで最適なソリューションは、このオブジェクトが必要なキーを毎回持っていることを確認した後、JSONオブジェクトを使用することだと思いトン

function doSomething(value1, value2, ...values){ 
    console.log(value1); // 1 
    console.log(value2); // 2 
    console.log(values); // [3,4,5,6] 
} 
doSomething(1,2,3,4,5,6); 
+0

ありがとうございます。基本的に私のコードの問題は、関数に5つ以上の変数を渡していることです。その関数は別のモジュールにあります。私があなたの事件を取るようにdoSomething(1,2,3,4,5,6);これは他のモジュール、つまり他のfile.jsにあり、メインファイルにインポートして機能を実行しています。 – learner

+1

あなたは配列を渡すことができます。もし 'key''' value'を持っていれば、オブジェクトは本当に良いオプションになります。 –

+0

ありがとう、私はそれに行くでしょう。 – learner