Asynchronous 当我使用first()管道并收到错误时,是否可以观察到取消订阅?
考虑以下可观察的,在我的例子中,它是来自Apollo客户端库的GrapgQl的可观察的。如果我正常接收数据,那么第一个()管道将取消对可观测数据的订阅 我尝试记录Asynchronous 当我使用first()管道并收到错误时,是否可以观察到取消订阅?,asynchronous,rxjs,pipe,observable,subscription,Asynchronous,Rxjs,Pipe,Observable,Subscription,考虑以下可观察的,在我的例子中,它是来自Apollo客户端库的GrapgQl的可观察的。如果我正常接收数据,那么第一个()管道将取消对可观测数据的订阅 我尝试记录this.testSubscription,以查看呼叫后订阅是否取消。但我不知道如何伪造错误回调,因此我无法确定收到错误时订阅是否取消订阅 那么,当接收到错误时,first()管道是否会清理订阅?如何测试此功能?当流完成或触发错误时,将完成。还应调用subscribe中的第三个回调参数 this.testSubscription = o
this.testSubscription
,以查看呼叫后订阅是否取消。但我不知道如何伪造错误回调,因此我无法确定收到错误时订阅是否取消订阅
那么,当接收到错误时,first()管道是否会清理订阅?如何测试此功能?
当流完成或触发错误时,将完成
。还应调用subscribe
中的第三个回调参数
this.testSubscription = observable.pipe(first()).subscribe(
data => {
// do stuff here
}, error => {
// handle error here
});
是,
错误
通知将使链取消订阅。这实际上与first()
无关,这是RxJS内部的工作方式。
this.testSubscription =
observable.pipe(first(),finalize(()=>console.log('done')).subscribe(null,null,()=>console.log('done'))