MartinMalinda / vue-concurrency

A library for encapsulating asynchronous operations and managing concurrency for Vue and Composition API.
https://vue-concurrency.netlify.app/
MIT License
350 stars 15 forks source link

Lightweight task instances for better performance #49

Open MartinMalinda opened 3 years ago

MartinMalinda commented 3 years ago

Every task instance creates a bunch of computed which can be costly, especially in Vue 2. Task instances are also created often asynchronously - after user interaction or when other async logic finishes and os on. That makes these new computeds not part of the component lifecycle.

Fixing this would require a major overhaul. It would be nice if it would be possible to somehow pass the vm from task to the taskinstance and then to the computed. That would probably fix the issues in Vue 2.

https://antfu.me/posts/async-with-composition-api#explicitly-bound-the-instance - perhaps this trick could be done with computed too?