Vyhledávání na webu

angular - RxJs: Je správné používat try/catch uvnitř subscribe()?


Předpokládejme, že máme aplikaci v Angular 2. Některá metoda služby vrací data přes post(), kde máme catch() k zachycení možných chyb.

V komponentě jsme se přihlásili k odběru dat Observable:

  .subscribe(
              ()=> {
                      // some code
                   } 
             )

předpokládejme, že se pokouším získat nějaká data z localStorage nebo jinou kritickou operaci. Mohu do takové metody přidat příkaz try/catch? Nebo existuje jiný správný přístup?

Odpověď č. 1

subscribe vám opravdu umožňuje předat onNext a onError, ale použití subscribe pro všechny vedlejší efekty není nejlepší možností. Celý smysl Rx je poskytovat operátory (jako catch, retry atd.), aby bylo možné situace řešit reaktivním způsobem, a ne jednoduše použít subscribe jako způsob, jak volat zpětné volání.