Sails.js SyntaxError:等待仅在异步函数中有效

时间:2019-10-15 14:33:02

标签: controller sails.js helper

我对Sails.js非常陌生,但是一个客户希望我创建一个调用所有辅助函数的主控制器。这是一个示例:

result = await sails.helpers.user.action(action, req, result);
module.exports = {


  friendlyName: 'User Action',


  description: 'User Action tile.',


  inputs: {
    action: {
        description: 'action of grid',
        required: true,
        type: "string",
      },
      req: {
          description: 'req object posted',
          required: true,
          type: "ref",
      },
      result: {
          description: 'req object posted',
          type: "ref",
          defaultsTo: {},
      },
  },


  exits: {

    success: {
      description: 'All done.',
    },

  },


  fn: async function (inputs) {
    var action = inputs.action;
    var req = inputs.req;
    var result = inputs.result;
    var post = inputs.req;
    user_id = req.me ? req.me.user_id : 0;

运行代码时,出现标题中提到的错误。如何解决此错误?

1 个答案:

答案 0 :(得分:0)

此错误是指:您的函数必须是异步函数才能使用“等待”,只需在函数定义之前放置async关键字即可。

    async function doSomething() {
        result = await sails.helpers.user.action(action, req, result);
    }