Redux-saga: какой механизм позволяет промежуточному программному обеспечению redux-saga ждать и не блокировать все остальное - PullRequest
0 голосов
/ 20 декабря 2018

Промежуточное ПО Redux-saga дает нам ощущение, будто оно работает в отдельном потоке.Когда ему говорят, что сага (функция-генератор) отправляет определенное действие, она приостанавливает сагу до тех пор, пока не будет отправлено интересующее действие.Single js runtime является однопоточным, как промежуточное программное обеспечение saga ожидает отправки действия и в то же время не блокирует все остальное?

1 Ответ

0 голосов
/ 21 декабря 2018

Ожидание действий работает следующим образом:

  1. Для любого take() эффекта промежуточное программное обеспечение redux-saga делает запись в массиве takers .Запись содержит шаблон и приостановленный генератор.
  2. При любой диспетчеризации действий промежуточное ПО проверяет действие по массиву takers .Запущены соответствующие генераторы.

Это асинхронное ожидание, которое не включает в себя ничего блокирования.

...