С помощью 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
недействительна. хотя длина
верна ... Думаю, я понял это, было бы хорошо получить подтверждение, так ли это. Пример ниже:
var fn;
fn = function (one, two) {};
console.log(fn.length); // 2
fn = function (one, two, three) {};
console.log(fn.length); // 3