我如何从Sails控制台打电话给助手?

时间:2019-04-17 14:09:31

标签: sails.js helper

im试图在sails.js中创建helloworld助手(示例zope.component

我的文件是get.js,并命名为get()之类的辅助函数

get.js文件:

PYTHON_PATH

但是当我在Sails控制台中做到这一点

module.exports = {

  friendlyName: 'Format welcome message',

  description: 'Return a personalized greeting based on the provided name.',

  inputs: {

    name: {
      type: 'string',
      example: 'Ami',
      description: 'The name of the person to greet.',
      required: true
    }

  },

  fn: async function (inputs, exits) {
    var result = `Hello, ${inputs.name}!`;
    return exits.success(result);
  }

};

它返回错误:

await sails.helpers.get("john")

我找不到错误在哪里,或者是否有错误。有什么问题吗? 预先感谢

1 个答案:

答案 0 :(得分:0)

您看到的错误是因为您只能从另一个await函数内部async返回一个函数。如果您是直接从控制台调用该代码,则会如您所见爆炸。

要进行快速测试/修补,您可以使用.then()在控制台中从助手中获得返回值

sails.helpers.get("john").then(console.log).catch(console.error)
sails.helpers.get("john").then((greeting) => {
  console.log('Got greeting:', greeting)
}).catch(console.error);

或者,通过将帮助程序调用包装在异步IIFE中,然后使用await

(async () => {
  let greeting = await sails.helpers.get("john")
  console.log(greeting)
})();