如何在Helper类中添加更多功能?

时间:2018-10-16 04:15:01

标签: sails.js

根据Sails的文档,helper类具有默认的“ fn”功能。我无法在其中添加function2。你能帮助我吗?谢谢!

fn: async (inputs, exits) => {
  var result =  inputs.a + inputs.b;
  return exits.success(result);  
},
function2 : async (a, b) => {
  var result =  a + b;
  return exits.success(result);
},

2 个答案:

答案 0 :(得分:0)

可以使用“ actions2”语法来编写帮助程序和控制器(动作)。我没有找到有关其规格的文档,但根据文档,它看起来像这样:https://sailsjs.com/documentation/concepts/actions-and-controllers#?actions-2

声明函数的替代方法

您可以在辅助程序或控制器(动作)之外添加这样的功能。

function add(a, b) {
  return a + b;
}

module.exports = {

   friendlyName: 'Add - math operation for two numbers',
   description: 'Add two numbers',
   inputs: {
      a: {
        description: 'first value',
        required: true
      },
      b: {
        description: 'second value',
        required: true
      }
   },

   exits: {
   },

   fn: async function (inputs, exits) {
      // call to add function
      return exits.success({result: add(inputs.a, inputs.b)});
   }
};

fn属性中的其他选项

module.exports = {

   friendlyName: 'Add - math operation for two numbers',
   description: 'Add two numbers',
   inputs: {
      a: {
        description: 'first value',
        required: true
      },
      b: {
        description: 'second value',
        required: true
      }
   },

   exits: {
   },

   fn: async function (inputs, exits) {

      function add(a, b) {
        return a + b;
      }

      // call to add function
      return exits.success({result: add(inputs.a, inputs.b)});
   }
};

答案 1 :(得分:0)

要将新的帮助程序添加到helpers类,请在新文件中对其进行定义。在控制台中,您可以使用sails generate helper <desired extension>/<desired helper name>,这将为您提供一个具有自己的输入,出口和fn的完整文件。例如,我可能有一组帮助程序,这些帮助程序与称为“ formtastic”的特定api一起使用。要创建检索表单的帮助器,请在终端sails generate helper formtastic/retrieve-forms中。这将创建一个新文件,我可以指定输入和退出并编写所有需要的代码。然后,当我想在后端代码的其他地方调用此帮助程序时,我对每个文件夹扩展名使用驼峰式大小写和点,因此:sails.helpers.formtastic.retrieveForms()