1.0.5 • Published 4 years ago
worker-subscriptions v1.0.5
Worker-Subscriptions for typescript - ES2016
A short typscript library used to avoid managing loading state when using promise execution in front framework. It will wrap promise execution and update loading state subscribed to this promise execution.
Example of using in Vue.js
Best use is when you have to manage loading state into a component with multiple asynchrone operation.
export default Vue.extend({
data() {
return {
booleanObserver: new WorkerObserver(),
}
},
computed: {
isLoading(): boolean {
// Use getState to have current state of WorkerObserver
return this.booleanObserver.getState()
}
},
methods: {
async makeToto() {
// During myAsyncFunction execution, isLoading computed will be updated automatically
await WorkerManager.execute(this.myAsyncFunction(3000), this.booleanObserver)
},
async myAsyncFunction(timer: number) {
const delayPromise = t => new Promise<void>(resolve => setTimeout(resolve, t))
return await delayPromise(timer)
},
},
})
It's recommended to wrap asynchrone logic into separate functions.
How to use
All loading value should be initialize with new WorkerObserver()
.
When you are executing promise, wrap this promise into an async function or classic promise.
You just have to use this : await WorkerManager.execute(yourPromise or async function, loading value)
Loading value
parameters can be an array if needed.