Как использовать массив обратного вызова в качестве обработчика для маршрута Sails.js?
При использовании Express можно прикрепить массив обратного вызова к маршруту следующим образом:
app.get('/path', thisIsAnArrayOfFunctions);
И тогда, когда делает запрос http://route_to_server/path
каждая функция внутри thisIsAnArrayOfFunctions
называется.
Как именно это поведение маршрутизации работает в экспрессе? это просто итерация thisIsAnArrayOfFunctions
передавая аргументы req
, res
а также next
?
Возможно ли добиться простой реализации в Sails для этого?
Я знаю, что это работает, если я присоединяю маршрутизацию в качестве промежуточного программного обеспечения Express, но я хочу знать, есть ли решение, использующее структуру контроллера Sails (версия 0.9.8).
Заранее спасибо.
1 ответ
Sails-y способ связать функции с маршрутом с помощью политик. Идея состоит в том, что код вашего контроллера должен быть последней остановкой в обработке вашего маршрута. Все, что может изменить ответ (например, проверку входа в систему или что-то, что может изменить параметры), должно быть реализовано в виде политики, которая представляет собой промежуточное ПО, которое может вызывать next
или отправьте ответ напрямую. Политики сопоставляются с действиями контроллера, и к одному действию можно применить несколько политик (или ко всем действиям в контроллере).
Документы для политики здесь.