Как обнаружить синхронные вызовы, выполняемые моим кодом (а не моими зависимостями)?

#node.js #express

#node.js #экспресс

Вопрос:

В руководстве по рекомендациям Express говорится, что вы не должны использовать синхронные функции. Поэтому они советуют передавать флаг --trace-sync-io для выдачи предупреждения в любое время, когда выполняется синхронная операция.

Так я и сделал, но когда я запустил свое приложение… Я получил тысячи предупреждений! Большинство из них были вызваны кодом моих зависимостей, и это не очень помогает. Я ожидал, что он покажет проблемы с моим кодом, например, вызовы console.log() , которые (в большинстве случаев) синхронны.

Существует ли более читаемая версия этого флага или более эффективный способ обнаружения нежелательных синхронных вызовов?

Комментарии:

1. Вы получаете тысячи предупреждений ПОСЛЕ запуска вашего сервера? Обычно при запуске используется синхронный код (даже require() используется синхронный ввод-вывод). Итак, игнорируйте предупреждения при запуске и обращайте внимание только на то, что происходит ПОСЛЕ запуска вашего сервера и теперь обрабатывает входящие запросы. Вы можете записать что-то в первом запросе, который получает ваш сервер, и начать поиск оттуда.

2. Node.js сам по себе не знает разницы между вашим кодом и вашими зависимостями, поэтому он не собирается их разделять.