Add comprehensive reference documentation for: - Vitest: environments, projects/workspaces, type testing, vi utilities - Pinia: HMR, Nuxt integration, SSR setup - Vue: built-in components (Transition, Teleport, Suspense, KeepAlive) and advanced directives
34 lines
664 B
Markdown
34 lines
664 B
Markdown
---
|
|
category: '@RxJS'
|
|
---
|
|
|
|
# useSubscription
|
|
|
|
Use an RxJS [`Subscription`](https://rxjs.dev/guide/subscription) without worrying about unsubscribing from it or creating memory leaks.
|
|
|
|
## Usage
|
|
|
|
<!-- TODO: import rxjs error if enable twoslash -->
|
|
|
|
```ts no-twoslash
|
|
import { useSubscription } from '@vueuse/rxjs'
|
|
import { interval } from 'rxjs'
|
|
|
|
const count = ref(0)
|
|
|
|
// useSubscription call unsubscribe method before unmount the component
|
|
useSubscription(
|
|
interval(1000)
|
|
.subscribe(() => {
|
|
count.value++
|
|
console.log(count)
|
|
}),
|
|
)
|
|
```
|
|
|
|
## Type Declarations
|
|
|
|
```ts
|
|
export declare function useSubscription(subscription: Unsubscribable): void
|
|
```
|