spec/scaffolding/oss/express 3.0.6/router/index.js
function callbacks(err) {
      var fn = route.callbacks[i++];
      try {
        if ('route' == err) {
          nextRoute();
        } else if (err && fn) {
          if (fn.length < 4) return callbacks(err);
          fn(err, req, res, callbacks);
        } else if (fn) {
          if (fn.length < 4) return fn(req, res, callbacks);
          callbacks();
        } else {
          nextRoute(err);
        }
      } catch (err) {
        callbacks(err);
      }
    }
function callbacks(err) {
      var fn = route.callbacks[i++];
      try {
        if ('route' == err) {
          nextRoute();
        } else if (err && fn) {
          if (fn.length < 4) return callbacks(err);
          fn(err, req, res, callbacks);
        } else if (fn) {
          if (fn.length < 4) return fn(req, res, callbacks);
          callbacks();
        } else {
          nextRoute(err);
        }
      } catch (err) {
        callbacks(err);
      }
    }
function callbacks ( err ) { var fn = route . callbacks [ i ++ ] ; try { if ( 'route' == err ) { nextRoute ( ) ; } else if ( err && fn ) { if ( fn . length < 4 ) return callbacks ( err ) ; fn ( err , req , res , callbacks ) ; } else if ( fn ) { if ( fn . length < 4 ) return fn ( req , res , callbacks ) ; callbacks ( ) ; } else { nextRoute ( err ) ; } } catch ( err ) { callbacks ( err ) ; } }
invoke route callbacks
invoke route callbacks