@createnextapp/async-local-storage
Version:
AsyncLocalStorage is an unencrypted, asynchronous, persistent, key-value storage system that is global to the app in web browser. It should be used instead of LocalStorage.
98 lines (63 loc) • 2.65 kB
Markdown
# async-local-storage
AsyncLocalStorage is an unencrypted, asynchronous, persistent, key-value storage system that is global to the app in web browser. It should be used instead of LocalStorage.
[](https://www.npmjs.com/package/@createnextapp/async-local-storage) 
## ❓ Why AsyncLocalStorage instead of LocalStorage?
**Cons of LocalStorage**
LocalStorage is synchronous, each local storage operation you run will be one-at-a-time. For complex applications this is a big no-no as it'll slow down your app's runtime.
**Pros of AsyncLocalStorage**
AsyncLocalStorage is asynchronous, each local async storage operation you run will be multi-at-a-time. It'll speed up your app's runtime.
The AsyncLocalStorage JavaScript code is a facade that provides [a clear JavaScript API](./API.md), real Error objects, and non-multi functions. Each method in the API returns a Promise object.
## 🔧 Install
async-local-storage is available on npm. It can be installed with the following command:
```
npm install --save /async-local-storage
```
async-local-storage is available on yarn as well. It can be installed with the following command:
```
yarn add /async-local-storage
```
## 💡 Usage
To learn more how to use async-local-storage:
* [API Documentation](./API.md)
### Import
```js
import AsyncLocalStorage from '/async-local-storage'
```
### Store data
```js
storeData = async () => {
try {
await AsyncLocalStorage.setItem(' ', 'value')
} catch(e) {
// error
}
}
```
### Read data
```js
readData = async () => {
let data
try {
data = await AsyncLocalStorage.getItem(' ')
} catch(e) {
// error
}
console.log(data)
/*
output:
value
*/
}
```
## 💖 Wrap Up
If you think any of the `async-local-storage` can be improved, please do open a PR with any updates and submit any issues. Also, I will continue to improve this, so you might want to watch/star this repository to revisit.
## 🌟 Contribution
We'd love to have your helping hand on contributions to `async-local-storage` by forking and sending a pull request!
Your contributions are heartily ♡ welcome, recognized and appreciated. (✿◠‿◠)
How to contribute:
- Open pull request with improvements
- Discuss ideas in issues
- Spread the word
- Reach out with any feedback
## ⚖️ License
The MIT License [](https://opensource.org/licenses/MIT)