Aller au contenu

JavaScript : promesses et requêtes

JavaScript · Intermédiaire · 10 questions. Choisissez une réponse par question, puis consultez les explications.

  • 1. Que renvoie une fonction déclarée async ?
  • 2. Une promesse est en attente. Quel est son état ?
  • 3. Que renvoie then() ?
  • 4. Dans une fonction async, que fait await avec une promesse en attente ?
  • 5. Le serveur répond 404 à fetch(). Que vérifier pour détecter cet échec HTTP ?
  • 6. Que renvoie response.json() ?
  • 7. Que devient Promise.all([p1, p2]) si p2 est rejetée ?
  • 8. Dans quel ordre Promise.all([p1, p2]) fournit-elle les résultats si tout réussit ?
  • 9. Dans une fonction async, quel bloc peut traiter le rejet de await charger() ?
  • 10. NKILItech veut conserver le résultat de chaque requête, même si certaines échouent. Quelle méthode convient ?
Corrigé à lire, même sans JavaScript
  1. Une promesse. Même une valeur simple retournée est enveloppée dans une promesse.
  2. pending. Elle n’a encore ni réussi ni échoué.
  3. Une nouvelle promesse. On peut donc poursuivre le traitement avec un autre then().
  4. Il suspend cette fonction jusqu’au règlement de la promesse. Les autres tâches peuvent continuer pendant cette attente.
  5. response.ok ou response.status. Une réponse HTTP 404 ne provoque pas à elle seule le rejet de fetch().
  6. Une promesse du contenu JSON analysé. La lecture du corps est asynchrone ; await permet d’obtenir sa valeur.
  7. La promesse combinée est rejetée. Le rejet se propage, sans annuler automatiquement les autres opérations.
  8. Dans l’ordre p1 puis p2. La position dans le tableau d’entrée détermine la position du résultat.
  9. try…catch. Un rejet attendu avec await peut être intercepté dans le catch correspondant.
  10. Promise.allSettled(). Elle fournit l’état et la valeur ou la raison du rejet pour chaque promesse.

Revoir le cours · Documentation de référence

Complément de documentation