function asyncQueue<TValue>(fn, initialOptions): (item, position, runOnItemsChange) => void
function asyncQueue<TValue>(fn, initialOptions): (item, position, runOnItemsChange) => void
创建一个新的 AsyncQueuer 实例并返回一个绑定的 addItem 函数,用于添加任务。 队列器会自动启动并准备处理项目。
错误处理:
示例用法:
const enqueue = asyncQueue<string>(async (item) => {
return item.toUpperCase();
}, {...options});
enqueue('hello');
const enqueue = asyncQueue<string>(async (item) => {
return item.toUpperCase();
}, {...options});
enqueue('hello');
• TValue
(value) => Promise<any>
AsyncQueuerOptions<TValue>
Function
将项目添加到队列。如果队列已满,则拒绝该项目并调用 onReject。 可以根据优先级或根据配置在前面/后面插入项目。
TValue & object
QueuePosition = ...
boolean = true
void
queuer.addItem({ value: 'task', priority: 10 });
queuer.addItem('task2', 'front');
queuer.addItem({ value: 'task', priority: 10 });
queuer.addItem('task2', 'front');