Как я могу позвонить помощнику с консоли паруса? - PullRequest
0 голосов
/ 17 апреля 2019

я пытаюсь сделать helloworld помощником в sails.js (пример здесь )

мой файл - get.js и паруса называют вспомогательную функцию как get ()

get.js file:

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")

, он возвращает ошибку:

SyntaxError: await is only valid in async function

iне могу найти, где находится ошибка, или если есть ошибка.что может быть не так?заранее спасибо

1 Ответ

0 голосов
/ 17 апреля 2019

Ошибка, которую вы видите, заключается в том, что вы можете только 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)
})();
...