2017-04-06 34 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.創建一個單獨的模塊,然後檢索它們(但是這種方式並不順利,因爲函數獲取的值是可變的,意味着我從發送到節點js的請求中檢索值,然後通過函數發送它們)

+0

我認爲在這種情況下最好的解決方案是使用json對象,然後驗證此對象每次都具有所需的鍵。 –

回答

0

修改您的代碼並開始使用ES6功能Rest Parameters。您可能需要t

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個變量,而且函數在單獨的模塊中。如果我把你的情況做一下(1,2,3,4,5,6);這是在其他模塊,即在其他file.js中,我將它導入到主文件來運行功能。 – learner

+1

你可以傳遞數組或者如果你有'key''value'那麼這個對象將是非常好的選擇。 –

+0

謝謝先生,那麼我會去那。 – learner

相關問題