subscription-management
takeUntil pattern for Observable cleanup. Use when adding any Observable subscription to a component.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
takeUntil pattern for Observable cleanup. Use when adding any Observable subscription to a component.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Team quality gate as executable instruction. Use when reviewing completed work before merge, or when processing PR review comments received from other reviewers.
Generate well-formed user stories from technical context. Use when generating or improving story descriptions for an issue tracker.
Type-safe validated configuration properties from application.yml. Use when adding any externalisable value.
Consistent error handling with named exceptions and global handler. Use when implementing any method that can fail with a business reason.
Consistent, safe log statements with correct levels and no PII. Use when adding or reviewing log statements.
Team standard for improving existing code without changing behaviour. Use when refactoring code.
| name | subscription-management |
| description | takeUntil pattern for Observable cleanup. Use when adding any Observable subscription to a component. |
takeUntilprivate destroy$ = new Subject<void>();
ngOnInit(): void {
this.someObservable$.pipe(
takeUntil(this.destroy$)
).subscribe({ next: ..., error: ... });
}
ngOnDestroy(): void {
this.destroy$.next();
this.destroy$.complete();
}
OnDestroy.takeUntil(this.destroy$).destroy$ is always private and never exposed.this.destroy$.next() then this.destroy$.complete() — both, in that order..unsubscribe() manually — takeUntil handles it.Subscription objects and call .unsubscribe() in ngOnDestroyasync pipe as a substitute for takeUntil — they solve different problemstakeUntilDestroyed() from Angular CDK — this project uses the explicit Subject pattern