Привет всем, я просто хочу знать, что здесь делает код внутри *** cz, даже если я не пишу, что я все еще получаю свой вывод?
Например, представьте, что нам нужна информация пользователяна странице профиля пользователя (/ v1 / users / azat, определенной как / v1 / users /: username) и на странице администратора (/ v1 / admin / azat, определенной как / v1 / admin /: username).Один из способов сделать это - определить функцию, которая ищет информацию о пользователе (findUserByUsername) и дважды вызывать эту функцию внутри каждого из маршрутов.Вот как мы можем это реализовать (пример ch4 / app.js):
var users = {
'azat': {
email: 'hi@azat.co',
website: 'http://azat.co',
blog: 'http://webapplog.com'
}
};
***var findUserByUsername = function (username, callback) {
// Perform database query that calls callback when it's done
// This is our fake database
if (!users[username])
return callback(new Error(
'No user matching '
+ username
)
);
return callback(null, users[username]);
};***
app.get('/v1/users/:username', function(request, response, next) {
var username = request.params.username;
findUserByUsername(username, function(error, user) {
if (error) return next(error);
return response.render('user', user);
});
});
app.get('/v1/admin/:username', function(request, response, next) {
var username = request.params.username;
findUserByUsername(username, function(error, user) {
if (error) return next(error);
return response.render('admin', user);
});
});