问题描述
让我们说,Angular中取消订阅组件中可观察对象的正确模式是:
现在让我们说我忘记了ngOnDestroy()中的.unsubscribe()调用。我是否可以设置任何规则以捕获此问题,或者必须严格依赖代码审查?
解决方法
您可以将代码限制为以下特定模式以清除订阅,即
const e = a.pipe(
takeUntil(this.destroy$)
).subscribe();
然后您可以使用@angular-extensions/lint-rules
软件包:
https://www.npmjs.com/package/@angular-extensions/lint-rules
通过安装
npm install @angular-extensions/lint-rules --save-dev
并将以下扩展名添加到您的tslint.json
{
"extends": [
"tslint:recommended","@angular-extensions/lint-rules"
]
}