Begrenzen Sie die Aufgabe auf eine Vorschau
Dieses Beispiel erstellt eine kleine historische Kommentarvorschau. Führen Sie die Anfrage in einem Node.js-Backend aus, in dem fetch verfügbar ist. Lesen Sie dort process.env.REDDIT_FETCH_API_KEY und brechen Sie bei fehlender Konfiguration vor dem Archivaufruf ab. Die Nutzer Ihrer Anwendung sollen aufbereitete Anzeigedaten erhalten, nicht das Geheimnis, mit dem der Server den Abruf autorisiert.
Verwenden Sie das feste Ziel https://api.redditfetch.com/v1/comments?subreddit=javascript&limit=3 mit einem Header wie {"X-API-Key": key}. Authorization: Bearer <key> ist ebenso gültig. Ersetzen Sie das Ziel nicht durch eine beliebige URL aus dem Browser. Zugriffsrechte und Verbrauchsgrenzen für Ihre eigene Route liegen bei Ihrer Anwendung, einschließlich der Entscheidung, wann ein Besucher eine neue kostenpflichtige Aktualisierung auslösen darf.
Trennen Sie HTTP-Antwort und Netzwerkausnahme
Eine abgewiesene Netzwerkoperation erreicht den catch um await fetch, ohne eine nutzbare HTTP-Antwort zur Einordnung zu liefern. Dagegen kann HTTP 401 oder 402 über ein erfülltes Promise eintreffen. Prüfen Sie zuerst response.ok. Behandeln Sie einen erfolglosen Status, bevor Sie den empfangenen Inhalt als korrekt abgerufene Kommentarseite interpretieren. Sonst erscheint ein Zugangsproblem womöglich als leeres Archiv.
Bei HTTP 400 korrigieren Sie Parameter, bei 401 prüfen Sie den Schlüssel und bei 402 das Guthaben. Für 429 können begrenzte, verzögerte Wiederholungen angemessen sein. Wiederholen Sie nicht automatisch jeden Fehler. Eine Verbindung kann nach einem abrechenbaren Erfolg auf dem Server abbrechen; eine lokale Ausnahme beweist deshalb nicht, dass dieser Versuch kostenlos war. Eine erfolgreiche Wiederholung wird separat berechnet.
Prüfen Sie auch nach der JSON-Dekodierung weiter
Auf dem Erfolgspfad kann await response.json() ebenfalls scheitern. Halten Sie diese Ursache in Ihren Diagnosen vom Transportfehler getrennt. Prüfen Sie danach die erwartete Antwortstruktur und ob data ein Array ist. Dekodiertes JSON ist zunächst nur ein JavaScript-Wert. Es bestätigt weder brauchbaren Text in jedem Datensatz noch die benötigten Feldtypen für Ihre Karten. Diese Prüfung gehört vor die Anzeige.
Machen Sie aus Fragmenten nachvollziehbare Zustände
Übernehmen Sie nur die Felder, die Ihre Vorschau benötigt. Unterscheiden Sie fehlenden Text von einer leeren Zeichenfolge, behalten Sie verfügbare Kennungen für den Bezug zum Ursprungsdatensatz und geben Sie Inhalte als Text aus. Die Kommentare sind flach. Optionale Beziehungsfelder beweisen keinen vollständigen Diskussionsbaum; drei Datensätze belegen nicht, dass sämtliche Antworten auf einen Kommentar vorliegen.
Definieren Sie lokal die Zustände Laden, Bereit, Leer und Fehler. Ein geprüftes leeres Array bedeutet, dass diese Anfrage keine Datensätze lieferte. Wenn Daten kamen, aber keiner Ihrer Anzeigeprüfung standhält, erfassen Sie diese Ursache gesondert. Eine gespeicherte Vorschau darf bei fehlgeschlagener Aktualisierung sichtbar bleiben, sofern ihre Herkunft als frühere Kopie klar erkennbar ist und sie nicht als neuer Abruf erscheint.
Wägen Sie den nächsten Aufruf ab
Speichern Sie die validierte Antwort mit den Anfrageparametern, bevor Sie lokalen Fortschritt weiterschreiben. Die Kopie benötigt keinen neuen Abruf; jede erfolgreiche Aktualisierung kostet einen Credit, auch wenn sie leer ist. Archivreihenfolge bedeutet keine zeitliche Sortierung. Auch eine Erweiterung auf bis zu 100 Datensätze je Anfrage und 100 Seiten je Abfrage beweist keine lückenlose Abdeckung.
Nutzen Sie die Dokumentation für Felder und Ergebniszahlen, die Preisseite für Kosten und die Schlüsselseite für die Konfiguration. /v1/status ist eine öffentliche, unberechnete statische Offenlegung, kein Test der Archivverfügbarkeit. Lassen Sie die historische Herkunft sichtbar und versprechen Sie weder Liveaktualisierungen noch identische künftige Ergebnisse oder eine vollständige Diskussion aus diesen wenigen Fragmenten.