Skip to content
This repository was archived by the owner on Apr 20, 2018. It is now read-only.
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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions