@olya_097

Когда лучше применять синхронность, а когда асинхронность?

Когда лучше применять синхронность, а когда асинхронность?
  • Вопрос задан
  • 199 просмотров
Решения вопроса 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
Синхронность применяйте когда результат операции получается сразу. JavaScript выполняется в один поток, поэтому пока что-то синхронное происходит, всё остальное ждёт в сторонке. В том числе события интерфейса.

Асинхронность используйте везде, где нужно ждать. Чтобы не ждать:
  • Отправили запрос на сервер. Ответ будет неизвестно, когда – то ли сеть медленная, то ли сервер призадумается. В это время JS может заняться чем-то ещё. Дайте ему такую возможность.
  • События интерфейса - неизвестно, когда нажмут на кнопку или введут значение в форму. Даже длинная цепочка действий: отправили пользователя авторизоваться через третий сайт.
  • Длинные сложные вычисления. Их можно вынести в web worker, отправлять в него задачу и асинхронно ждать результата. В это время бодро реагировать на кнопки и прочее.


p.s. Ждать, не важно, сколько: всего несколько миллисекунд или полчаса.

p.p.s. для желающих упороться подробностями: Concurrency model and Event Loop
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Enroller
@Enroller
Немного авантюрист
Асинхронность используется тогда, когда :
1. Вы не знаете когда наступит условие для выполнение ф-ии
2. У вас не пришли данные с сервера и вы их ждёте
И.т.д Тупо когда иначе не возможно решить проблему ..
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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