Skip to content
This repository was archived by the owner on Apr 20, 2018. It is now read-only.

unable to handle JSON.parse errors #122

@shakyShane

Description

@shakyShane

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 :

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions