Funktion: asyncQueue()
function asyncQueue<TValue>(fn, initialOptions): (item, position, runOnItemsChange) => boolean
function asyncQueue<TValue>(fn, initialOptions): (item, position, runOnItemsChange) => boolean
Definiert in: async-queuer.ts:781
Erstellt eine neue AsyncQueuer-Instanz und gibt eine gebundene addItem-Funktion zum Hinzufügen von Aufgaben zurück. Der Queuer wird automatisch gestartet und ist bereit, Elemente zu verarbeiten.
Fehlerbehandlung
- Wenn ein onError Handler bereitgestellt wird, wird dieser mit dem Fehler und der Queuer-Instanz aufgerufen
- Wenn throwOnError auf true gesetzt ist (Standardwert, wenn kein onError-Handler bereitgestellt wird), wird der Fehler ausgelöst.
- Wenn throwOnError auf false gesetzt ist (Standardwert, wenn ein onError-Handler bereitgestellt wird), wird der Fehler "verschluckt".
- Sowohl onError als auch throwOnError können zusammen verwendet werden; der Handler wird aufgerufen, bevor ein Fehler ausgelöst wird
- Der Fehlerzustand kann mit der zugrunde liegenden AsyncQueuer-Instanz überprüft werden.
Zustandsverwaltung
- Verwendet TanStack Store für reaktives Zustandsmanagement
- Verwenden Sie initialState, um anfängliche Zustandswerte bei der Erstellung des Async-Queuers bereitzustellen.
- Verwenden Sie den onSuccess-Callback, um auf die erfolgreiche Ausführung von Aufgaben zu reagieren und benutzerdefinierte Logik zu implementieren.
- Verwenden Sie den onError-Callback, um auf Fehler bei der Ausführung von Aufgaben zu reagieren und benutzerdefinierte Fehlerbehandlung zu implementieren.
- Verwenden Sie den onSettled-Callback, um auf den Abschluss der Aufgabenausführung (Erfolg oder Fehler) zu reagieren und benutzerdefinierte Logik zu implementieren.
- Verwenden Sie den onItemsChange Callback, um auf das Hinzufügen oder Entfernen von Elementen aus der Warteschlange zu reagieren
- Verwenden Sie den onExpire Callback, um auf abgelaufene Elemente zu reagieren und benutzerdefinierte Logik zu implementieren
- Verwenden Sie den onReject Callback, um auf abgelehnte Elemente zu reagieren, wenn die Warteschlange voll ist
- Der Zustand umfasst die Fehleranzahl, die Ablaufanzahl, die Ablehnungsanzahl, den laufenden Status sowie die Erfolgs-/Abschlussanzahl.
- Der Zustand kann über die Eigenschaft store.state der zugrunde liegenden AsyncQueuer-Instanz aufgerufen werden.
- Bei Verwendung von Framework-Adaptern (React/Solid) wird der Zustand aus der `state`-Eigenschaft des Hooks abgerufen
Beispielanwendung
const enqueue = asyncQueue<string>(async (item) => {
return item.toUpperCase();
}, {...options});
enqueue('hello');
const enqueue = asyncQueue<string>(async (item) => {
return item.toUpperCase();
}, {...options});
enqueue('hello');
Typparameter
• TValue
Parameter
fn
(value) => Promise<any>
initialOptions
AsyncQueuerOptions<TValue>
Gibt zurück
Funktion
Fügt ein Element zur Warteschlange hinzu. Wenn die Warteschlange voll ist, wird das Element abgelehnt und onReject aufgerufen. Elemente können basierend auf der Priorität oder am Anfang/Ende basierend auf der Konfiguration eingefügt werden.
Parameter
item
TValue
position
QueuePosition = ...
runOnItemsChange
boolean = true
Gibt zurück
boolean
Beispiel
queuer.addItem({ value: 'task', priority: 10 });
queuer.addItem('task2', 'front');
queuer.addItem({ value: 'task', priority: 10 });
queuer.addItem('task2', 'front');