С помощью Express / Connect я могу настроить функцию промежуточного программного обеспечения в любом из следующих форматов:
function(req, res, next) // first argument will be a request
или
function(err, req, res, next) // first argument will be an error
Отступая от Express, Connect, к базовому JavaScript:Я не понимаю, как это возможно иметь необязательный первый аргумент ?
Как выразить, что моя функция сначала примет объект err
?Я подумал, чтобы сделать это возможным, структура должна выглядеть примерно так:
function(req, res, next, err)
Я что-то упустил здесь?Можно ли запросить, сколько аргументов ожидает функция?
Редактировать: спасибо за ответы ниже.но функция промежуточного программного обеспечения передается в выражение, поэтому переменная arguments
недопустима.хотя length
правильно ... Я думаю, что я понял это, было бы хорошо иметь подтверждение того, так ли это.Пример ниже:
var fn;
fn = function (one, two) {};
console.log(fn.length); // 2
fn = function (one, two, three) {};
console.log(fn.length); // 3