var users = { ‘byvoid’: { name: ‘Carbo’, website: ‘http://www.byvoid.com’ } }; app.all(’/user/:username’, function(req, res, next) { // 检查用户是否存在 if (users[req.params.username]) { next(); } else { next(new Error(req.params.username + ’ does not exist.’)); } }); app.get(’/user/:username’, function(req, res) { // 用户一定存在,直接展示 res.send(JSON.stringify(users[req.params.username])); }); app.put(’/user/:username’, function(req, res) { // 修改用户信息 res.send(‘Done’); });
上面代码app.all路由检查用户是否存在,如果存在通过next()函数转移到app.get路由中。用户不存在的else里面next(new Error(req.params.username + ’ does not exist.’));这段代码是什么意思呢,下一步是转到那一个路由?app.put路由怎么在这段代码中使用了?