Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

🚦 vue-concurrency

Test Coverage gzip size npm

Inspired by ember-concurrency.

A library for encapsulating asynchronous operations and managing concurrency for Vue and Composition API.

vue-concurrency aims to provide a reasonable abstraction for performing asynchronous operations. It reduces boilerplate code, provides reliable derived state and allows new approaches to techniques like throttling, debouncing, polling. Read more about why and how in the docs:


  • Vue 3 + Vue 2.7 (Version >= 4.x)
  • Vue 2 + @vue/composition-api (Version < 4.x)
  • TypeScript support
  • Async cancellation via generator functions and CAF
  • Providing AbortSignal to abort XHR/Fetch requests
  • Derived reactive state to track status of async operations: isRunning, isIdle, isFinished, isCancelled and more
  • Concurrency management: drop(), restartable(), enqueue() and other tasks
  • SSR support (experimental)




Subscribe to me on herohero to receive bi-weekly coding tips, hacks and other distilled knowledge from my day to day work. I'm building herohero using Vue 3 and vue concurrency:).