Как использовать массив обратного вызова в качестве обработчика для маршрута 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 или отправьте ответ напрямую. Политики сопоставляются с действиями контроллера, и к одному действию можно применить несколько политик (или ко всем действиям в контроллере).

Документы для политики здесь.

Другие вопросы по тегам