Skip to content

DelayAsyncQueue

收集异步请求,不立刻执行,在需要消费它时在执行

Demo

ts
import { 
DelayAsyncQueue
} from '@vill-v/async'
// 初始化 const
pool
= new
DelayAsyncQueue
()
// 新增一份请求
pool
.
add
(()=>
Promise
.
resolve
())
// 清空整个请求池
pool
.
clear
()
// 请求池内部请求数量
pool
.
size
// 请求池内部请求是否不为空
pool
.
isNotEmpty
()
// 请求池内部请求是否为空
pool
.
isEmpty
()
// 消费所有请求
pool
.
consume
().
then
(()=>{
})

DTS

ts
/**
 * 延迟执行的异步请求队列
 */
declare class DelayAsyncQueue {
    /**
     * 新增
     * @param asyncFn
     */
    add(asyncFn: (...args: any[]) => Promise<any>): void;
    /**
     * 设置队列
     * @param data
     */
    setQueue(data: ((...args: any[]) => Promise<any>)[]): void;
    /**
     * 清除
     */
    clear(): void;
    /**
     * 获取请求队列的长度
     */
    get size(): number;
    /**
     * 是否不为空
     */
    isNotEmpty(): boolean;
    /**
     * 是否为空
     */
    isEmpty(): boolean;
    /**
     * 消费
     */
    consume(): Promise<void>;
}

Released under the MIT License.