自定义 Buffer

Redux-Saga 中可以通过自定义 Buffer 类型来实现更加自由的通道控制。由于 Buffer 在 TypeScript 中是一个接口,所以只需要按照接口定义完成 Buffer 类型的实现即可自定义 Buffer。这里列出 Buffer 接口的定义,在自定义 Buffer 时只需要按照以下接口编写代码即可。

interface Buffer<T> {
  // 判断缓存是否为空
  isEmpty(): boolean;
  // 向缓存推送一条消息
  put(message: T): void;
  // 从缓存中取出一条消息
  take(): T | undefined;
  // 清空缓存
  flush(): T[];
}