В кеширование по запросу приведен следующий пример, который показывает, как использовать загрузчики данных в экспрессе.
function createLoaders(authToken) {
return {
users: new DataLoader(ids => genUsers(authToken, ids)),
}
}
var app = express()
app.get('/', function(req, res) {
var authToken = authenticateUser(req)
var loaders = createLoaders(authToken)
res.send(renderPage(req, loaders))
})
app.listen()
Меня смущает передача authToken в пакетную функцию genUsers. Как должна быть составлена пакетная функция, чтобы использовать authToken и возвращать каждому пользователю соответствующие результаты?





В примере говорится, что genUsers должен использовать учетные данные пользователя текущего запроса (идентифицированного их токеном аутентификации), чтобы гарантировать, что они могут получать только те данные, которые им разрешено видеть. По сути, загрузчик инициализируется в начале запроса, а затем удаляется в конце и никогда не используется повторно между запросами.