Jak radzić sobie z funkcjami asynchronicznymi, gdy naprawdę chcesz synchronizować rzeczy


16

Jestem dość nowy w NodeJS i trudno mi się skupić na asynchronicznej naturze funkcji, kiedy naprawdę chcę, aby jedno połączenie śledziło drugie w sposób zsynchronizowany.

Powiedzmy na przykład, że dzwonię do metod usług sieciowych. Każda metoda ma funkcję wywołania zwrotnego. Ale co, jeśli chcę zadzwonić do 10 z nich w określonej kolejności? Czy naprawdę muszę połączyć wszystkie funkcje w pierwszym wywołaniu zwrotnym? Co jeśli drugi raz łańcuch będzie nieco inny?

Czy są jakieś eleganckie wzory do radzenia sobie w sytuacjach, w których naprawdę chcesz, aby rzeczy były synchroniczne?

Czy powinienem naprawdę porzucić takie programowanie, aby przyzwyczaić się do innego sposobu myślenia? Jeśli to prawda, może ktoś wskaże mi czysty przykład dłuższego łańcucha funkcji za pomocą wywołań zwrotnych ...


10 żądań w określonej kolejności. Czy są od siebie niezależni?
Jonas,

1
I uwaga: połączone w łańcuch nie oznacza, że ​​nie jest asynchroniczne, chyba że wszystko jest połączone w tym łańcuchu.
Erik Reppen

Odpowiedzi:


9

Cieszę się, że mogłem pomóc!

1
Z pewnością doceniam ten link, który podałeś!
Lonnie Best
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.