我知道通过定义时可观察到的是完成或者它有一个错误成为冷,你不能传递数据给它。 因此,如果您想在错误之后传递数据,则需要创建一个新的Observable。
我只是想知道,如果你以某种方式可以错误后恢复观察的,因为它使更多的意义对我来说,这不是恢复到创建一个新的具有相同的功能?Rxjs错误后,通过数据可观察
例:
const subject = new Rx.Subject();
subject.subscribe(
data => console.log(data),
error => console.log('error')
);
subject.next('new data');
subject.next('new data2');
subject.error('error');
subject.next('new data3');
的新DATA3不会发送,因为在此之前有一个错误。
工作例如:https://jsbin.com/sizinovude/edit?js,console
PS:我想用户有错误,也后发送数据,看起来像是唯一的方法是创建一个新的观察到的,订阅错误后的新一个。
因此,可以说,你想要一个http请求重试按钮,当它要创建一个新的请求的错误。为此,您无法将更多数据传递给该Observable,您需要创建一个新的数据并订阅该数据? – tibbus
重新订阅发出错误的观察值。这就是[retry](http://reactivex.io/rxjs/class/es6/Observable.js~Observable.html#instance-method-retry)运算符所做的事情。 – cartant