Łańcuch wywołań to nic innego jak wywoływanie funkcji ( np kilku, lub jednej kilkukrotnie), w innej funkcji.
Dlaczego łańcuch, bo zakończenie najbardziej zewnętrznej funkcji, będzie ostatecznie zdjęte ze stosu dopiero gdy wszystkie funkcje wewnętrzne zwrócą wynik, lub zostaną wykonane i zakończone.
Dla przykładu
Funkcja wait()- obejmuje zakres trzykrotnego wywołania funkcji handle() która zwraca różny typ określony dla każdego z przypadków.
Więc tak określony łańcuch wywołań powoduje, że zewnętrzna funkcja wait i ogólnie zewnętrzne funkcje oczekują na rezultat. Jeśli teraz w takim łańcuchu wywołań funkcja zewnętrzna OCZEKUJE tylko 1- rodzaju rezultatu na jej zakończenie, to niezależnie od wszystkich przetwarzanych w tym momencie operacji, jedyny -kończący, będzie ten spełniający np dany warunek.
Przykład buildera pattern :
https://helloacm.com/c-object-method-chaining/