2016-03-24 3 views
0

Ich möchte wissen, gibt es eine Möglichkeit, alle Argumente der Callback-Funktion in einem Array zu speichern? und kann ich die Anzahl der Argumente der Callback-Funktion kennen, sollte ich fangen?Kann ich alle Argumente der Callback-Funktion in einem Array in node.js speichern?

zum Beispiel

einige Callback-Funktion erhält zwei Argumente irren und Reihen. Kann ich sie in einem Array speichern?

c.query('SHOW DATABASES', function(err, rows) { 
    if (err) 
    throw err; 
    console.dir(rows); 
}); 

dank

+0

Ich verstehe nicht genau, was Sie fragen. Können Sie einen Beispiel-Pseudocode von dem, was Sie versuchen, bereitstellen? – slebetman

Antwort

1

Sie die Argumente, mit denen Zugriff auf die Funktion aufgerufen wird, mit dem arguments Objekt der Funktion. Die Argumente Objekte ist ein Array wie Objekt (aber nicht genau Array). Um ein Array Ihrer Argumente erhalten Sie

var args = Array.prototype.slice.call(arguments);

Die length Eigenschaft verwenden, um die Anzahl der Argumente gibt an, um die Funktion zu erwarten

1
function foo(){ 
    var args = Array.prototype.slice.call(arguments); 
    console.log(arguments.length); 
    console.log(args); 
} 

foo(1,2,3,'a',true); 
Verwandte Themen