@1eeing/fetchonce
TypeScript icon, indicating that this package has built-in type declarations

1.0.1 • Public • Published

fetchOnce

高阶函数,将其包裹一个返回 promise 的请求函数,无论该包裹函数调用几次,都确保只真正请求一次。
支持将请求结果存储到 内存localStoragesessionStorage 中。

错误重试机制:如果一批请求中,有一个成功了,则所有的请求都成功;只有全部失败了,请求才算失败。

安装

npm install @1eeing/fetchonce --save

如何使用

import fetchOnce from '@1eeing/fetchonce'

const getUserInfo = () => {
  return fetch('test.com');
};

const getUserInfoFetchOnce = fetchOnce(getUserInfo);

getUserInfoFetchOnce().then(res => {
  console.log(res);
})

如果需要存储到sessionStorage中

import fetchOnce from '@1eeing/fetchonce'

const getUserInfo = () => {
  return fetch('test.com');
};

const getUserInfoFetchOnce = fetchOnce(getUserInfo, {
  type: 'session',
  key: 'userInfo'
});

getUserInfoFetchOnce().then(res => {
  console.log(res);
})

参数说明

fn

请求函数,返回一个promise

options?

可选配置

options.type

存储类型,local | session | memory 三个值可选,默认存储到内存中。表示存储到哪

options.key

当需要存储到storage中时,需要传入一个自定义key

Readme

Keywords

Package Sidebar

Install

npm i @1eeing/fetchonce

Weekly Downloads

1

Version

1.0.1

License

ISC

Unpacked Size

5.54 kB

Total Files

4

Last publish

Collaborators

  • 1eeing