2017-01-16 4 views
9

Я использую Babel и Webpack. Если я забуду await асинхронную функцию, она часто остается незамеченной. Время от времени, если я забыл await, в функции async возникает ошибка, и я получаю Unhandled promise rejection. Тогда я понимаю, что забыл await.Как предупредить, когда вы забыли «ожидать» функцию async в Javascript?

Есть ли способ получить предупреждение, когда я забуду добавить await?

+0

Если вы используете это много, создайте себе шаблон, который выдает ошибку до тех пор, пока все необходимые вещи не будут исключены. – Bindrid

+5

Если вы используете ESLint, возможно, ['require-await'] (http: // eslint .org/docs/rules/require-await) lint достаточно для ваших нужд? Он не поймает импортированные функции асинхронизации, определенные в другом месте, но он поймает некоторые случаи. – Bojangles

+1

@Bojangles. Вероятно, это поможет немного, но он определенно не поймает все ошибки. Мне бы хотелось, чтобы все вызовы функций async ожидали перед ними. –

ответ

7

Настройка лучшей интеграции eslint с помощью webpack, repo и редактора кода.
Вот применимое правило, require await.

Рассмотрим интегрированием следующее:

  • eslint loader для WebPack уровня отчетности
  • командной строки
  • eslint для CI/CD и местное освещение пуха
  • редактора кода inline linting
+2

'require-await' на самом деле не помогает. Если OP забывает «ждать» обещание, он, конечно же, также забывает сделать функцию, которая должна ждать 'async'. – Bergi