Są to generatory. Naprawdę aż szkoda, że tak mało ludzi ich używa, bo to pozwala na zajebiste uproszczenie asynchronicznych interakcji. Trochę jak async/await, ale lepsze, bo bardziej elastyczne, masz więcej kontroli. Możesz nad wszystkim panować i zrobić sobie taki własny asynchroniczny framework, zrobić własne mikrowątki/korutyny rodem z Go, tylko, że w JavaScript. Aż smutne, że to wciąż mało popularne podejście. Poza Redux Sagą chyba się to nie przyjęło jeszcze na masową skalę w JS. A szkoda. Co do elastyczności to mam na myśli, że generatory są bardziej elastyczne w kwestii interpretowania danej komendy, bo można yieldować cokolwiek: const result = yield 123 oraz od strony funkcji wywołującej generator można to dowolnie interpretować. Czyli to nie jest tylko asynchroniczność, ale też komunikacja między korutynami. Czyli generatory pod kątem funkcjonalności są bardziej elastyczne niż async/await. Z drugiej strony rozwiązania oparte o promisy (async/await) w p...