function queue<TValue>(fn, initialOptions): (item, position, runOnItemsChange) => boolean;
定义于: queuer.ts:732
创建一个队列,在添加项目时立即处理它们。项目默认按FIFO顺序顺序处理。
此同步版本更轻量级,通常是你所需要的 - 当你需要Promise、重试支持、中止能力、并发执行或高级错误处理时,升级到 asyncQueue。
状态管理
用法示例
// Basic sequential processing
const processItems = queue<number>((n) => console.log(n), {
wait: 1000,
onItemsChange: (queuer) => console.log(queuer.peekAllItems())
});
processItems(1); // Logs: 1
processItems(2); // Logs: 2 after 1 completes
// Priority queue
const processPriority = queue<number>((n) => console.log(n), {
getPriority: n => n // Higher numbers processed first
});
processPriority(1);
processPriority(3); // Processed before 1
TValue
(item) => void
QueuerOptions<TValue>
(
item,
position,
runOnItemsChange): boolean;
将一个项目添加到队列。如果队列已满,该项目将被拒绝并调用 onReject。项目可以根据优先级插入,或者根据配置插入到队列的前面/后面。
如果项目已添加,则返回 true;如果队列已满,则返回 false。
用法示例
queuer.addItem('task');
queuer.addItem('task2', 'front');
TValue
QueuePosition = ...
boolean = true
boolean