Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/MartinMalinda/vue-concurrency
A library for encapsulating asynchronous operations and managing concurrency for Vue and Composition API.
https://github.com/MartinMalinda/vue-concurrency
async cancelation composition-api concurrency concurrency-management generators javascript task typescript vue vue-concurrency
Last synced: 3 months ago
JSON representation
A library for encapsulating asynchronous operations and managing concurrency for Vue and Composition API.
- Host: GitHub
- URL: https://github.com/MartinMalinda/vue-concurrency
- Owner: MartinMalinda
- License: mit
- Created: 2020-05-15T12:25:35.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-05-07T15:48:59.000Z (9 months ago)
- Last Synced: 2024-11-19T05:05:24.379Z (3 months ago)
- Topics: async, cancelation, composition-api, concurrency, concurrency-management, generators, javascript, task, typescript, vue, vue-concurrency
- Language: TypeScript
- Homepage: https://vue-concurrency.netlify.app/
- Size: 4.71 MB
- Stars: 352
- Watchers: 5
- Forks: 15
- Open Issues: 24
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
- awesome-vue-3 - vue-concurrency - 🚦 A library for encapsulating asynchronous operations and managing concurrency for Vue and Composition API. (Packages)
README
# 🚦 vue-concurrency
[![Test Coverage](https://api.codeclimate.com/v1/badges/59a2cde627ebcefcbba4/test_coverage)](https://codeclimate.com/github/MartinMalinda/vue-concurrency/test_coverage) [![gzip size](http://img.badgesize.io/https://unpkg.com/vue-concurrency/dist/vue2/vue-concurrency.modern.js?compression=gzip&label=gzip)](https://unpkg.com/vue-concurrency/dist/index.modern.js) [![npm](https://img.shields.io/npm/v/vue-concurrency)](https://www.npmjs.com/package/vue-concurrency)
Inspired by [ember-concurrency](http://ember-concurrency.com/).
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:
- 📖 [Documentation](https://vue-concurrency.netlify.app/)
## Features
- Vue 3.3+ (Version === 5.x)✅
- Vue 2.7 & 3.2 (Version === 4.x)✅
- Vue 2 + [@vue/composition-api](https://github.com/vuejs/composition-api) (Version < 4.x) ✅
- **TypeScript support**
- **Async cancellation** via generator functions and [CAF](https://github.com/getify/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)## Installation
- 📦 [Installation instructions](https://vue-concurrency.netlify.app/installation/)
## Demos
- 🔍 [Autocomplete](https://vue-concurrency.netlify.app/examples/autocomplete/)
- 🚦 [Concurrency](https://vue-concurrency.netlify.app/managing-concurrency/)## License
MIT