1.0.5 • Published 4 years ago

worker-subscriptions v1.0.5

Weekly downloads
-
License
ISC
Repository
-
Last release
4 years ago

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.

1.0.5

4 years ago

1.0.4

4 years ago

1.0.3

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago