асинхронное ожидание не развертывается в облачных функциях Google - PullRequest
0 голосов
/ 26 ноября 2018

firebase deploy выдает мне это сообщение об ошибке:

        async function asyncFunction() {
              ^^^^^^^^

SyntaxError: Unexpected token function

Вот мой код:

async function asyncFunction() {
      await getText2Speech(word, 'mp3', 'es-ES_EnriqueVoice')
    }
asyncFunction();

getText2Speech - это 75-строчная функция, которая отлично работает при вызовебез async или await.

У меня есть среда выполнения Node.js 8 в моем functions/package.json:

 "engines": {
    "node": "8"
  },

enter image description here

У меня на компьютере обновлен Node:

node -v
v11.2.0

Кажется странным, что неожиданный токен function, а не async.Кажется, что firebase deploy распознает async, но у меня неправильный синтаксис?es-lint не могу найти ничего плохого в моем коде.

Может быть проблема в следующем:

npm list --depth 0 -g

├── UNMET PEER DEPENDENCY firebase-admin@6.2.0

npm ERR! peer dep missing: firebase-admin@~6.0.0, required by firebase-functions@2.1.0

Если я вернусь к firebase-admin@~6.0.0, будет ли async await работать?

Ответы [ 2 ]

0 голосов
/ 21 декабря 2018

async/await развертывался на другом компьютере, а сегодня прекратил развертывание.Я проверил package.json в папке functions на обоих компьютерах, и на обоих отсутствовали

 "engines": {
    "node": "8"
  },

При добавлении этой строки оба компьютера теперь развертывают async/await.Я не знаю, как этот объект выпал из файла package.json, и я не знаю, будет ли это исправление продолжать работать, но я буду скрещивать пальцы!

0 голосов
/ 17 декабря 2018

Проблема заключалась в том, что что-то указывало на eslint v4.5.0, который не поддерживает ES2017.У меня был установлен eslint v5.9.0, но eslint -v всегда возвращал v4.5.0.Я использовал find . -name 'eslint', чтобы удалить каждую копию eslint, было много версий, все остальные мой компьютер.npm uninstall -g eslint не получает каждую копию eslint.Когда eslint -v ничего не возвращал, тогда firebase deploy работал.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...