Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/jill64/async-observer

🔭 Make Promise state observable as a string for svelte
https://github.com/jill64/async-observer

oberservable promise svelte utility

Last synced: 5 days ago
JSON representation

🔭 Make Promise state observable as a string for svelte

Awesome Lists containing this project

README

        

# @jill64/async-observer

npm-version npm-license npm-download-month npm-min-size ci.yml

🔭 Make Promise state observable as a string for svelte

## Example

```js
import { observable } from '@jill64/async-observer'

const { status, observed } = observable({
// FULFILLED => IDLE at 100ms
resolveToIdle: 100,
// REJECTED => IDLE at 500ms
rejectToIdle: 500
})

const run = observed(async () => {
// e.g. Duration as 1000ms
await yourAsyncFunction()
})

let str = ''

status.subscribe((status) => {
str = status
})

// str => IDLE

run()

// str => PENDING

// ↓ After the 1000ms

// str => FULFILLED

// ↓ After the 100ms

// str => IDLE
```

## Compatibility for svelte store

Since `status` is implemented according to svelte store, it can be used in svelte applications as follows

```svelte

import { observable } from '@jill64/async-observer'

const { status, observed } = observable()

$: set = observed(async () => {
await yourAsyncFunction()
})

Button

{$status}

```

## License

[MIT](LICENSE)