![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 555 Pomógł: 84 Dołączył: 20.02.2008 Skąd: Małopolska Ostrzeżenie: (0%) ![]() ![]() |
Witam,
właśnie powoli odkrywam świat Promisów w JS, ale nie potrafię zrozumieć po co w API większości bibliotek Promise jest metoda done()? Ja rozumiem, że then() połyka zwracane wartości i błędy, a done() z kolei wszystko wyrzuca na zewnątrz do przetworzenia poza Promise, i rozumiem też zasadę "return Promise or call .done() on it", ale po co osobna funkcja do tego? Każdy chain Promisów gdzieś się kończy, czemu ostatni then() w tym chainie w momencie zmiany statusu z PENDING na FULFILLED lub REJECTED po prostu nie zachowuje się automatycznie jak to co robi teraz done()? W ten sposób byloby mniej problemów z używaniem then() vs done(), no i kod byłby bardziej reużywalny, bo łączenie promisów można byłoby robić out-of-the-box zamiast bawić się helperami. Może ktoś mi to rozjaśnić? Ten post edytował Skie 8.10.2015, 17:44:57 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 798 Pomógł: 307 Dołączył: 13.05.2009 Skąd: Gubin/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Bo nie ma done w specyfikacji, done jest fanaberią bodajże jQuery, które używało done dla statusu jqXHR.done lub jqXHR.success.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 7.10.2025 - 00:51 |