# sx-user

> 用户数据存取

Latest version **1.0.5** (published 2019-05-05) · ISC license · 0 weekly downloads

## Install

```sh
npm install sx-user
pnpm add sx-user
yarn add sx-user
bun add sx-user
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.5 |
| Published | 2019-05-05 |
| First published | 2019-04-16 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 1 |
| Unpacked size | 3.5 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 0 |
| Maintainers | sunxi1997 |

## Links

- npm: https://www.npmjs.com/package/sx-user
- Repository: https://github.com/sunxi1997/sx-user
- Homepage: https://github.com/sunxi1997/sx-user#readme
- Issues: https://github.com/sunxi1997/sx-user/issues
- npm.io page: https://npm.io/package/sx-user

## Dependencies (1)

- [sx-event](https://npm.io/package/sx-event.md) ^1.0.4

## Recent versions

- 1.0.5 (latest) — 2019-05-05
- 1.0.4 — 2019-04-18
- 1.0.3 — 2019-04-17
- 1.0.2 — 2019-04-17
- 1.0.1 — 2019-04-16
- 1.0.0 — 2019-04-16

## README

# User

用户数据存取

## 安装

````
npm install sx-event
````

## 使用

````
import User from 'sx-user'

// 立即获取

let userInfo1 = User.getUserInfo(true); 
console.log(userInfo1);    // null 因为这时候还没有用户数据


// Promise 获取，别担心，Promise回调中必定获取到用户数据

User.getUserInfo().then(userInfo2=>{
    
    console.log(userInfo2);    // {id:0,name:'faker'}
    
    ... // 这里可以做获取到用户数据后的操作，比如请求购物车数据，而不用担心用户数据存储的异步问题

});// 你甚至不用考虑错误情况，Promise一定会等到用户数据存在后才执行resolve


// 延时一段时间后（模拟异步请求），获取到了用户数据

setTimeout(()=>{

    let userInfo = {
        id:0,
        name:'faker'
    };
   
    User.setUserInfo(userInfo); // 保存用户数据
    
    // 这时再立即获取也可以获取到
    let userInfo3 = User.getUserInfo(true);
    console.log(userInfo3);      // {id:0,name:'faker'}
    
},5000)



````

上面的代码可能有些多。。。

那么用一个简单的请求购物车例子来试一下

````
 
// 这是一个获取购物车数据的函数，需要的参数是用户数据

function getCartData(userInfo){
    ...
}
 

// 需求：获取到用户数据后执行获取购物车操作。
// 那么只需要两步
    
// 1 引入
import User from 'sx-user' 

// 2 一句话
User.getUserInfo().then(getCartData); // 只要任意页面引入User调用了setUserInfo,这里就会立即得到响应
    
    
````

---
_Source: https://npm.io/package/sx-user · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
