function queue<TValue>(fn, options): (item, position, runOnUpdate) => boolean
function queue<TValue>(fn, options): (item, position, runOnUpdate) => boolean
定义于:queuer.ts:549
创建一个在添加项目后立即处理项目的队列。 默认情况下,项目按 FIFO 顺序依次处理。
这是 Queuer 类的一个简化包装器,仅公开 addItem 方法。 队列始终处于运行状态,并在添加项目时处理它们。 要对队列处理进行更多控制,请直接使用 Queuer 类。
示例用法:
// 基本顺序处理
const processItems = queue<number>((n) => console.log(n), {
wait: 1000,
onItemsChange: (queuer) => console.log(queuer.peekAllItems())
});
processItems(1); // 输出:1
processItems(2); // 在 1 完成后输出:2
// 优先级队列
const processPriority = queue<number>((n) => console.log(n), {
getPriority: n => n // 数字越大,优先级越高,越先处理
});
processPriority(1);
processPriority(3); // 在 1 之前处理
// 基本顺序处理
const processItems = queue<number>((n) => console.log(n), {
wait: 1000,
onItemsChange: (queuer) => console.log(queuer.peekAllItems())
});
processItems(1); // 输出:1
processItems(2); // 在 1 完成后输出:2
// 优先级队列
const processPriority = queue<number>((n) => console.log(n), {
getPriority: n => n // 数字越大,优先级越高,越先处理
});
processPriority(1);
processPriority(3); // 在 1 之前处理
• TValue
(item) => void
QueuerOptions<TValue>
Function
将项目添加到队列。如果队列已满,则拒绝该项目并调用 onReject。 可以根据优先级或根据配置在前面/后面插入项目。
如果项目已添加,则返回 true;如果队列已满,则返回 false。
示例用法:
queuer.addItem('task');
queuer.addItem('task2', 'front');
queuer.addItem('task');
queuer.addItem('task2', 'front');
TValue
QueuePosition = ...
boolean = true
boolean