@timokins

В каких случаях использование fs.openSync предпочтительней fs.promise.open (и не только)?

В каких случаях синхронные функции модуля fs предпочтительней асинхронным?

fs.openSync vs fs.promise.open
fs.readSync vs fs.promise.read
и т.д.

В случае с сервером - понятно. А в случае с обычными утилитами - нет.

Например, читаю файл построчно и строки заношу в бд тоже по очереди.
По времени выполнения утилита на чтение файла работает с fs.*Sync быстрей.
Но совершенно не имею представления, что для подобной функции лучше и какие подводные камни могут быть.

Да и не только с подобным примером, вообще в принципе хотелось бы понимать, что когда fs.*Sync применять, а когда нет.
  • Вопрос задан
  • 121 просмотр
Решения вопроса 1
@abberati
frontend-разработчик
Асинхронные функции всегда предпочтительнее — они, как вы написали, не блокируют поток, а значит поток не будет простаивать. Когда вам не важно время выполнения (например, в консольных утилитах), можно пренебречь скоростью и использовать синхронные функции — их банально проще читать глазами и проще выстраивать логические последовательности.

Кроме читабельности у синхронных функций нет преимуществ.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы