Reddit Fetch
Choix de la langue

Que vérifier après await fetch ?

Suivez une requête Node.js : clé privée, response.ok, exceptions réseau, interprétation du JSON et états locaux pour afficher des commentaires plats.

Délimitez un seul aperçu historique

Cette recette prépare un petit aperçu de commentaires. Lancez la requête dans un service Node.js où fetch est disponible. Lisez process.env.REDDIT_FETCH_API_KEY dans cet environnement et arrêtez l’opération si la valeur manque, avant de contacter l’archive. L’utilisateur de votre application doit recevoir des données de présentation, jamais le secret qui autorise la récupération sur le serveur.

Utilisez la destination fixe https://api.redditfetch.com/v1/comments?subreddit=javascript&limit=3 et un en-tête tel que {"X-API-Key": key}. Authorization: Bearer <key> convient également. Ne remplacez pas cette destination par une URL arbitraire venant du navigateur. Votre application définit les règles d’accès et de consommation de sa propre route, notamment quand un visiteur peut provoquer une nouvelle actualisation payante.

Distinguez la réponse HTTP de l’exception réseau

Une opération réseau rejetée arrive dans le catch autour de await fetch, sans fournir de réponse HTTP exploitable à classer. À l’inverse, un HTTP 401 ou 402 peut arriver avec une promesse résolue. Commencez par examiner response.ok. Traitez le statut non réussi avant de considérer le corps reçu comme une page de commentaires correctement récupérée.

Pour HTTP 400, corrigez les paramètres ; pour 401, vérifiez la clé ; pour 402, consultez le solde. Face à 429, des tentatives espacées et limitées peuvent convenir. Ne relancez pas automatiquement toute erreur. Une connexion peut être perdue après une réussite facturable sur le serveur : l’exception locale ne prouve donc pas que la requête n’a rien coûté.

Décodez, puis vérifiez la valeur obtenue

Même sur le chemin de réussite, await response.json() peut échouer. Distinguez cette cause de l’erreur de transport dans vos diagnostics. Vérifiez ensuite l’enveloppe attendue et assurez-vous que data est un tableau. Du JSON décodé reste une valeur JavaScript : cela ne confirme ni la présence de texte utilisable dans chaque enregistrement, ni le type des champs nécessaires à votre écran.

Donnez des états explicites aux fragments

Ne transformez que les champs nécessaires à l’aperçu. Distinguez un texte absent d’une chaîne vide, conservez les identifiants disponibles pour retrouver les enregistrements et affichez le contenu comme du texte. Les commentaires sont plats. D’éventuels champs de relation ne prouvent pas que le fil est complet ; trois enregistrements ne permettent pas davantage de déclarer toutes les réponses récupérées.

Définissez localement les états chargement, prêt, vide et échec. Un tableau vide validé signifie que cet appel n’a fourni aucun enregistrement. Si des données sont arrivées mais qu’aucune ne satisfait vos contrôles d’affichage, consignez cette cause séparément. Un ancien aperçu peut rester visible pendant l’échec d’une actualisation, à condition d’être clairement présenté comme une copie déjà enregistrée.

Décidez si le prochain appel est nécessaire

Enregistrez le résultat validé avec ses paramètres avant de faire avancer votre progression locale. Réutiliser la copie ne demande aucune récupération supplémentaire ; chaque actualisation réussie coûte un crédit, même vide. L’ordre de l’archive n’est pas chronologique. Aller jusqu’à 100 enregistrements par requête et 100 pages par recherche ne démontre toujours pas une couverture exhaustive.

Consultez la documentation pour les champs et les totaux, les tarifs pour les coûts et la page de clé pour le compte. /v1/status est une déclaration statique publique et gratuite, pas un test de disponibilité de l’archive. Gardez visible l’origine historique des fragments et ne promettez ni mises à jour en direct, ni résultats futurs identiques, ni discussion complète.