
vue-promised
๐ Composable Promises & Promises as components
The Lens
Vue-Promised is a small Vue library by Eduardo San Martin Morote (posva, a Vue core team member) that handles promises in templates without the boilerplate. You get a `Promised` component and a `usePromise` composable that track pending, resolved, and rejected states automatically, with a 200ms delay before showing a loading indicator to avoid layout flicker, and data preservation during refreshes.
There's no install ceremony beyond `npm install vue-promised`. It supports Vue 3 directly and Vue 2 via the composition API plugin. Twenty stable releases, version 2.2.0 since October 2021. Stable is the right word: this is a small library that does one thing and is essentially done.
Solo and small Vue teams: install it and stop writing the same async boilerplate every component. Large Vue teams: same recommendation. If you're using Vue Query or Vue Apollo for data fetching, they already handle this for those specific cases; Vue-Promised is for the general async work those tools don't cover.
The catch: it's a library, not a tool. It's also basically feature-complete and quiet, which looks like abandonment but isn't. posva still maintains the Vue ecosystem; this is just a small piece that doesn't need new features.
Free vs Self-Hosted vs Paid
fully freeFree: MIT licensed npm package. No feature gating.
Self-hosted: It's a Vue library; it runs in your application. No hosting.
Paid: None. posva funds his work through Vue ecosystem sponsorships.
Free MIT library. Mature and stable, not abandoned.
Get tools like this every Wednesday
One featured tool, three on the radar. No fluff.
License: MIT License
Use freely, including commercial. Just keep the license.
Commercial use: โ Yes
About
- Owner
- Eduardo San Martin Morote (User)
- Stars
- 1,933
- Forks
- 85
Explore Further
More tools in the directory
sentry-javascript
Official Sentry SDKs for JavaScript
8.7k โtiny-vue
TinyVue is an enterprise-class UI component library of OpenTiny community, support both Vue.js 2 and Vue.js 3, as well as PC and mobile.
2.2k โdbx
lightweight, cross-platform database client. Supports MySQL, PostgreSQL, SQLite, Redis, MongoDB, DuckDB, ClickHouse, SQL Server and more.
1.7k โ