Open shakyShane opened 8 years ago
JSON.parse can throw, but the way in which it's called in https://github.com/Reactive-Extensions/RxJS-DOM/blob/master/src/ajax/ajax.js#L40 means it's impossible to handle this error gracefully which completely breaks composition.
JSON.parse
Shouldn't you be try/catching things that may throw inside the subscribeCore?
subscribeCore
This is unexpected :
Rx.DOM.post({ url, // let's say the response body contains invalid json responseType: 'json', body: '' }).catch(err => { // Cannot handle the JSON.parse error here });
The following should be possible
Rx.DOM.post({ url, responseType: 'json', body: '' }).catch(error => Rx.Observable.just({type: 'AJAX_ERROR', data: {error}}))
Currently, the error will bubble up and crash your program.
This is still an issue in RxJS 5.
@IvanJov RxJS 5 isn't maintained here.
Yes, I know 😜 Just mentioning that this is still a problem, even in the newest version.
JSON.parse
can throw, but the way in which it's called in https://github.com/Reactive-Extensions/RxJS-DOM/blob/master/src/ajax/ajax.js#L40 means it's impossible to handle this error gracefully which completely breaks composition.Shouldn't you be try/catching things that may throw inside the
subscribeCore
?This is unexpected :
The following should be possible
Currently, the error will bubble up and crash your program.