@Rapen

Путаюсь в асинхронности?

Асинхронность - синоним(вне очереди). Понятие асинхронности в node, когда сценарий не блокируется, к примеру при загрузке данных, т.е скрипт не ждет эту загрузку, а обрабатывает в фоновом режиме,а код обрабатывается дальше, но на клиенте, как раз наоборот, если дела обстоят с промисами, то каждая цепочка вызова функцию ждут друг-друга, т.е поочередно.
В redux, в асинхронных экшенах, метод dispatch, не отрисует, пока не загрузит с api(то есть ассинхронность, имеет обратный смысл). Кто поможет разобратся с этой путаницей, спасибо.
  • Вопрос задан
  • 350 просмотров
Решения вопроса 1
но на клиенте, как раз наоборот, если дела обстоят с промисами, то каждая цепочка вызова функцию ждут друг-друга, т.е поочередно.


Это не верно. Цепочка не ждет друг друга - поток не блокируется, так же как и node. Когда приходит ответ сервера - вызывается соответствующий callback. Но во время ожидания - ваш код работает (например - вы захотели отрендерить анимацию загрузки).

В асинхронных экшенах вы можете менять стейт (диспатчить) когда вам угодно. Обычно это делается два раза - когда запрос отправлен (инициирован) и когда пришел ответ. Между этими моментами у вас могут быть и другие экшены (пользователь нажал на кнопку, или что-то еще произошло) и вы таже асинхронно их обрабатываете.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы