预计阅读时间: 小于 1 分钟

createPool - (function)

创建池, 他是一个工厂函数, 返回一个 Pool<T> 实例, 用于管理存储的对象, 池的大小可配置, 默认 5, 并且在按规定使用的情况下每个对象都具有所有权

参数

必填参数说明类型默认值
initFunction初始化函数() => T()=>EMPTY
size初始大小number5
poolId唯一标识, 不传则直接创建新实例string | symbol‘’

返回值

Pool<T> 实例

实例类型声明

1interface IPoolItem<T> {
2  data: () => T;
3  unUse: () => void;
4}
5
6interface Pool<T = any> {
7  // 可用数量
8  usableCount: number;
9  // 是否关闭
10  isClose: boolean;
11
12  // 取出
13  get(): Promise<IPoolItem<T>>;
14  // 放回/添加
15  put(data: T): void;
16  // 关闭
17  close(callback: (data: T) => void): void;
18}
警告

get 返回的 IPoolItem 对象不建议和赋值,可能会影响管理

示例

1const item = await pool.get();
2// 不建议或赋值
3const data = item.data; // 🈲
4const { data } = item; // 🈲

getPool - (function)

参数

必填参数说明类型默认值
poolId唯一标识string | symbol''

返回值

Pool<T> 实例

实例类型声明