如何链接 Sails 控制器?

How to chain Sails controller?

在 Sails.js 中是否有任何最佳实践来实现控制器链接?例如我有这样的控制器:

FirstController.js

var FirstController = {
  getPage: function(req, res){
    var page = 1;
    res.json({
      page: page
    });
  }
};

SecondController.js

var SecondController = {
  getPageSecond: function(req, res){
    //how to call FirstController and then use that result?
  }
};

我通常使用Function Constructor 先创建Constructor 然后我的controller 可以调用它,但这是最好的方法吗?有时我还需要"chaining"蓝图的动作,所以我重新创建蓝图并使其成为我的构造函数中的方法。有什么最佳实践可以让我们的控制器更易于重用吗?

查看此线程:sails.js access controller method from controller method

所以在你的情况下你可以做类似

sails.controllers.update.updateCart()

不过到目前为止我还没有使用过类似的东西,因为我倾向于将很多逻辑转移到策略和服务中。

例如,addMetadata 可以是一项服务,它将接受原始数据和元数据并返回一个新对象。您可以从多个控制器使用此服务。