调用 .error 后 Angular2 EventEmitter 未完成
Angular2 EventEmitter does not complete after invoking .error
我有一个 EventEmitter
通知用户通知组件应用程序状态已更改。
此事件通知用户尝试验证是否成功。
private emitAuthStatus(success: boolean) {
if (success) {
this.locationWatcher.emit({
authenticated: this.authenticated,
token: this._authData.token,
expires: this.expires
});
} else {
this.locationWatcher.error();
}
this.locationWatcher.complete();
}
现在,当我调用 .emit
然后调用 .complete
时,一切正常。
但是如果我调用 .error
,.complete
会抛出一个 ObjectUnsubscribedError
。
.error
的目的是什么?我在这段代码中做错了什么?
我已更改我的代码,不使用 .error
和 .complete
,它们不用于传输信息。
private emitAuthStatus() {
this.locationWatcher.emit({
// The .authenticated allow us to know if the EventEmitter is a success
authenticated: this.authenticated,
token: this._authData.token,
expires: this.expires
});
}
我有一个 EventEmitter
通知用户通知组件应用程序状态已更改。
此事件通知用户尝试验证是否成功。
private emitAuthStatus(success: boolean) {
if (success) {
this.locationWatcher.emit({
authenticated: this.authenticated,
token: this._authData.token,
expires: this.expires
});
} else {
this.locationWatcher.error();
}
this.locationWatcher.complete();
}
现在,当我调用 .emit
然后调用 .complete
时,一切正常。
但是如果我调用 .error
,.complete
会抛出一个 ObjectUnsubscribedError
。
.error
的目的是什么?我在这段代码中做错了什么?
我已更改我的代码,不使用 .error
和 .complete
,它们不用于传输信息。
private emitAuthStatus() {
this.locationWatcher.emit({
// The .authenticated allow us to know if the EventEmitter is a success
authenticated: this.authenticated,
token: this._authData.token,
expires: this.expires
});
}