Получение сообщения об ошибке «ожидание зарезервированного слова» при запуске приложения meteor - PullRequest
0 голосов
/ 08 января 2019

Я использую Crypto2 (https://www.npmjs.com/package/crypto2) библиотека для производства открытых / закрытых ключей. Я создаю эти ключи при регистрации некоторого пациента, как показано в коде ниже.

Template.patient_register.events({
  'submit form': function(event, template) {
      event.preventDefault();
     const {privateKey,publicKey} = await crypto2.createKeyPair();
      var _email           = event.target.registerEmail.value;
      var _password        = event.target.registerPassword.value;
      var _disease_group   = event.target.registerDisease_Group.value;
      var _account_type    = event.target.registerAccount_Type.value;
      var _publickey       =  await crypto2.readPublicKey('key.pub');

      console.log("Public Key Is:::"+_publickey);
      console.log("Private Key Is:::"+await crypto2.readPrivateKey('key.pem'));
      var newAccount = {
         email         :  _email,
         password      :  _password,
         disease_group :  _disease_group,
         account_type  :  _account_type,
         public_Key    :  _publickey
      };

      Accounts.createUser(newAccount, function(err) {
       if (err) {
       ....................

       } else {
        .....................
       }
      });

      template.find("form").reset();

   }
});

Но когда я запускаю этот код, он завершается с ошибкой "ожидание зарезервированное слово". Пожалуйста, помогите мне с этим.

Ответы [ 2 ]

0 голосов
/ 08 января 2019

(Async / await) всегда используется в паре. Всякий раз, когда вы создаете функцию, которая содержит оператор await, она должна использоваться в паре с async.

function add(x,y){
   return x+y;
} 

// if you do not write async you will be prompt with (SyntaxError: await is only valid in async function)

async function test(){
  const x = 1;
  const y = 2;
  const result = await add(x,y);
  console.log(result) // 3
} 
0 голосов
/ 08 января 2019

Вы должны добавить async, чтобы сообщить компилятору, что эта функция использует асинхронные функции и должна await их:

'submit form': async function(event, template) {
...