Czy naprawdę istnieje zasadnicza różnica między wywołaniami zwrotnymi a obietnicami?

Podczas programowania jednowątkowego programowania asynchronicznego znane mi są dwie główne techniki. Najczęstszym z nich jest użycie wywołań zwrotnych. Oznacza to przekazanie do funkcji, która działa asynchronicznie jako funkcja zwrotna jako parametr. Po zakończeniu operacji asynchronicznej...