自定义 Buffer
Redux-Saga 中可以通过自定义 Buffer 类型来实现更加自由的通道控制。由于 Buffer 在 TypeScript 中是一个接口,所以只需要按照接口定义完成 Buffer 类型的实现即可自定义 Buffer。这里列出 Buffer 接口的定义,在自定义 Buffer 时只需要按照以下接口编写代码即可。
interface Buffer<T> {
// 判断缓存是否为空
isEmpty(): boolean;
// 向缓存推送一条消息
put(message: T): void;
// 从缓存中取出一条消息
take(): T | undefined;
// 清空缓存
flush(): T[];
}