@1eeing/fetchonce 中文文档教程

发布于 4年前 浏览 24 项目主页 更新于 3年前

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

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文