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

Übersicht

TanStack Pacer ist eine Bibliothek, die sich auf die Bereitstellung hochwertiger Hilfsmittel zur Steuerung der Ausführungszeit von Funktionen in Ihren Anwendungen konzentriert. Obwohl ähnliche Hilfsmittel anderswo existieren, bemühen wir uns, alle wichtigen Details richtig zu machen – einschließlich Typsicherheit, Tree-Shaking und einer konsistenten und intuitiven API. Indem wir uns auf diese Grundlagen konzentrieren und sie auf eine framework-agnostische Weise verfügbar machen, hoffen wir, diese Hilfsmittel und Muster in Ihren Anwendungen weiter zu verbreiten. Eine ordnungsgemäße Ausführungssteuerung wird in der Anwendungsentwicklung oft vernachlässigt, was zu Leistungsproblemen, Race Conditions und schlechten Benutzererlebnissen führt, die hätten vermieden werden können. TanStack Pacer hilft Ihnen, diese kritischen Muster von Anfang an richtig zu implementieren!

Wichtig

TanStack Pacer befindet sich derzeit im Alpha-Stadium und seine API kann sich ändern.

Der Umfang dieser Bibliothek kann wachsen, aber wir hoffen, die Bundle-Größe jedes einzelnen Hilfsmittels schlank und fokussiert zu halten.

Herkunft

Viele der Ideen (und des Codes) für TanStack Pacer sind nicht neu. Tatsächlich leben viele dieser Hilfsmittel seit einiger Zeit in anderen TanStack-Bibliotheken. Wir haben Code aus TanStack Query, Router, Form und sogar aus Tanners ursprünglicher Swimmer-Bibliothek extrahiert. Dann haben wir diese Hilfsmittel bereinigt, einige Lücken gefüllt und sie als eigenständige Bibliothek veröffentlicht.

Merkmale

Hinweis

TanStack Pacer ist derzeit hauptsächlich eine reine Client-Side-Bibliothek, aber sie ist so konzipiert, dass sie potenziell auch auf der Server-Seite verwendet werden kann.

  • Debouncing
    • Verzögern Sie die Ausführung, bis nach einer Inaktivitätsperiode, wenn Sie nur an der letzten Ausführung in einer Sequenz interessiert sind.
    • Synchrone oder asynchrone Debounce-Hilfsmittel mit Promise-Unterstützung und Fehlerbehandlung
    • Steuerung von Leading-, Trailing- und Enabled-Optionen
  • Throttling
    • Begrenzen Sie sanft die Rate, mit der eine Funktion ausgelöst werden kann
    • Synchrone oder asynchrone Throttling-Hilfsmittel mit Promise-Unterstützung und Fehlerbehandlung
    • Steuerung von Leading-, Trailing- und Enabled-Optionen.
  • Ratenbegrenzung
    • Begrenzen Sie die Rate, mit der eine Funktion über einen bestimmten Zeitraum ausgelöst werden kann
    • Synchrone oder asynchrone Ratenbegrenzungs-Hilfsmittel mit Promise-Unterstützung und Fehlerbehandlung
    • Fixed- oder Sliding-Window-Varianten der Ratenbegrenzung
  • Queuing
    • Stellen Sie Funktionen in eine Warteschlange, um sie in einer bestimmten Reihenfolge auszuführen
    • Wählen Sie aus FIFO-, LIFO- und Prioritätswarteschlangen-Implementierungen
    • Steuern Sie die Verarbeitungsgeschwindigkeit mit konfigurierbaren Wartezeiten oder Ratenbegrenzungen
    • Verwalten Sie die Warteschlangenausführung mit Start-/Stopp-Funktionen
    • Lassen Sie Elemente nach einer konfigurierbaren Dauer aus der Warteschlange verfallen
  • Batching
    • Fassen Sie mehrere Operationen in größere Batches zusammen, um die Gesamtzahl der Hin- und Rückoperationen zu reduzieren
    • Batching nach Zeitintervall, Batch-Größe, je nachdem, was zuerst eintritt, oder einer benutzerdefinierten Bedingung, um Batch-Ausführungen auszulösen
  • Asynchrone oder synchrone Varianten
    • Wählen Sie zwischen synchronen und asynchronen Versionen jedes Hilfsmittels
    • Optionale Fehler-, Erfolgs- und Settled-Behandlung für asynchrone Varianten
  • Zustandsverwaltung
    • Verwendet TanStack Store im Hintergrund für die Zustandsverwaltung mit fein granularer Reaktivität
    • Einfache Integration mit Ihrer bevorzugten Zustandsverwaltungsbibliothek
    • Persistieren Sie den Zustand im lokalen Speicher oder Sitzungsspeicher für einige Hilfsmittel wie Ratenbegrenzung und Queuing
  • Praktische Hooks
    • Reduzieren Sie Boilerplate-Code mit vorgefertigten Hooks wie useDebouncedCallback, useThrottledValue und useQueuedState und mehr.
    • Mehrere Abstraktionsebenen zur Auswahl, je nach Anwendungsfall.
    • Funktioniert mit den Standard-Zustandsverwaltungslösungen jedes Frameworks oder mit jeder benutzerdefinierten Zustandsverwaltungsbibliothek Ihrer Wahl.
  • Typsicherheit
    • Vollständige Typsicherheit mit TypeScript, die sicherstellt, dass Ihre Funktionen immer mit den richtigen Argumenten aufgerufen werden
    • Generics für flexible und wiederverwendbare Hilfsmittel
  • Framework-Adapter
    • React, Solid und mehr
  • Tree Shaking
    • Wir sorgen natürlich standardmäßig für korrektes Tree-Shaking für Ihre Anwendungen, bieten aber auch tiefere Importe für jedes Hilfsmittel an, was es einfacher macht, diese Hilfsmittel in Ihre Bibliotheken einzubetten, ohne die Bundle-Phobie-Berichte Ihrer Bibliothek zu erhöhen.

Interaktive Vergleichsdemo

Jedes Hilfsmittel ist so konzipiert, dass es auf eine bestimmte Weise verwendet werden kann, und jedes Hilfsmittel hat sein eigenes einzigartiges Verhalten.

Sehen Sie, wie sich jedes Hilfsmittel mit diesem interaktiven Vergleich verhält. Bewegen Sie den Schieberegler, um die Unterschiede zwischen Debouncing, Throttling, Ratenbegrenzung, Queuing und Batching zu beobachten

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.