rxjs observables ne se termine pas lorsqu'une erreur se produit

Quand je crée une observable à partir de zéro, et ont l'observateur d'erreur, puis les remplir, de la fait partie de l'abonnement n'est jamais invoquée.

var observer = Rx.Observable.create(function(observer){
    observer.onError(new Error('no!'));
    observer.onCompleted();
})

observer.subscribe(
    function(x) { console.log('succeeded with ' + x ) },
    function(x) { console.log('errored with ' + x ) },
    function() { console.log('completed') }
)

La sortie est:

errored with Error: no!

Je m'attends à être:

errored with Error: no!
completed

Si je change le code pour appeler onNext au lieu de onError, observables correctement terminée:

var observer = Rx.Observable.create(function(observer){
    observer.onNext('Hi!');
    observer.onCompleted();
})

observer.subscribe(
    function(x) { console.log('succeeded with ' + x ) },
    function(x) { console.log('errored with ' + x ) },
    function() { console.log('completed') }
)

- Je obtenir le résultat attendu:

succeeded with Hi! 
completed

Pourquoi n'est-il pas terminée quand une erreur s'est produite?

InformationsquelleAutor Oved D | 2015-11-18