如何覆盖Sails.js中的所有蓝图查找操​​作

时间:2018-09-11 21:48:53

标签: sails.js

无论模型是什么,无论何时调用蓝图查找操​​作,我都希望运行一些代码。我可以通过三种方式来做到这一点,但我都无法弄清楚如何实现。

  1. 覆盖所有“蓝图”查找操作。从理论上讲,在我的路线中,我想选择类似get * overridingController.find的东西。该函数中的from执行我的工作,然后调用蓝图查找钩子。

  2. 使用中间件,该中间件在控制器的动作之后 运行。我看不到Sails具有可以在操作后运行并修改响应的中间件。

  3. 触发要在事件上运行的函数,例如查找或重新发送蓝图。我没有看到这些事件。

1 个答案:

答案 0 :(得分:0)

对于Google员工,我通过政策解决了这一问题。我仍然想找到一种方法来在蓝图操作之后运行

module.exports = async function (req, res, proceed) {
    if (req.options.model && /\/find$/.test(req.options.action)) {
        // do stuff 
        proceed(); // if you want to
    } else {
        proceed();
    }
};