angular - Ngrx 状态 observable 的第一次订阅总是未定义
我最近开始使用较新的 ngrx (4) 和 Angular 4 版本。我最近注意到一个总是发生的奇怪情况。不管在我的代码中哪里,每当我做类似这样的事情时:
const subscription =
this.store.select(*someselector*).subscribe(() =>{
console.log(subscription) ;
}
在以前的 ngrx 版本(不是 4)以及较旧的 TypeScript 版本(是 2.0.10)中,订阅变量在第一次使用时只是未定义(这就是我的第一个问题)
现在我已经升级到 ngrx 4 和 TypeScript 2.4.1,如果我尝试做类似这样的检查(在 subscribe 回调内部) if (subscription) subscription.unsubscribe(); 我会收到一个引用错误,提示 subscription 未定义。
我不理解为什么第一次它是未定义的,也不理解为什么在我升级之后,我不能用 if 语句检查它是否已定义而不会得到异常。