Skip to content

@vueuse/rxjs

NPM version

This is an add-on of VueUse, enabling a natural way of using RxJS.

Install

bash
npm i @vueuse/rxjs rxjs

Functions

Example

ts
import { from, fromEvent, useObservable } from '@vueuse/rxjs' import { forkJoin, of } from 'rxjs' import { ajax } from 'rxjs/ajax' import { concatAll, map, mergeMap, pluck, scan, take } from 'rxjs/operators' import { useTemplateRef } from 'vue'  const BASE_URL = 'https://jsonplaceholder.typicode.com' const button = useTemplateRef('buttonRef')  const posts = useObservable(  fromEvent(button, 'click').pipe(  mergeMap(() => ajax.getJSON(`${BASE_URL}/posts`).pipe(  concatAll(),  take(4),  mergeMap(({ id, userId, title }) => forkJoin({  id: of(id),  comments: ajax.getJSON(`${BASE_URL}/posts/${id}/comments`).pipe(  map(comments => comments.length),  ),  username: ajax.getJSON(`${BASE_URL}/users/${userId}`).pipe(  pluck('username'),  ),  }), 2),  scan((acc, curr) => [...acc, curr], []),  )),  ), )

License

MIT License © 2019-PRESENT Anthony Fu

Turn AI into a coding partner
Claim 40% off for AIDD Masterclass.
Get discount