Framework
Version
Debouncer API Referenz
Throttler API Referenz
Rate Limiter API Referenz
Queue API Referenz
Batcher API Referenz

asyncQueue

Funktion: asyncQueue()

ts
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

ts
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

ts
queuer.addItem({ value: 'task', priority: 10 });
queuer.addItem('task2', 'front');
queuer.addItem({ value: 'task', priority: 10 });
queuer.addItem('task2', 'front');
Unsere Partner
Code Rabbit
Unkey
Bytes abonnieren

Ihre wöchentliche Dosis JavaScript-Nachrichten. Jeden Montag kostenlos an über 100.000 Entwickler geliefert.

Bytes

Kein Spam. Jederzeit kündbar.

Bytes abonnieren

Ihre wöchentliche Dosis JavaScript-Nachrichten. Jeden Montag kostenlos an über 100.000 Entwickler geliefert.

Bytes

Kein Spam. Jederzeit kündbar.