Cette page est traduite de l'anglais. En cas de différence, la page anglaise fait foi. Lire la page en anglais
Quatre opérations diffusent leurs résultats sous forme d’événements envoyés par le serveur : générer du vocabulaire, envoyer un message au tuteur, créer un plan de cours et en suivre un. Chaque bibliothèque transforme le flux d’événements en l’itérateur propre au langage et vous remet chaque événement déjà décodé en une valeur typée.
Comment un flux se termine
Quand le travail est fini. L’itération s’arrête d’elle-même au dernier événement du flux. Pour un plan de cours, ce dernier événement porte le résultat : vous le recevez donc avant la fin de la boucle.
Quand l’API signale une erreur. Une erreur qui arrive à l’intérieur du flux est levée comme erreur d’API, du même type qu’une erreur arrivée avant lui.
Quand la connexion échoue. Un flux qui se termine avant son dernier événement, ou qui n’envoie absolument rien pendant 120 secondes, est levé comme erreur de transport.
Quand vous arrêtez. Annulez l’appel de la manière habituelle dans votre langage, ou arrêtez de lire, et la connexion se ferme rapidement.
Les commentaires de maintien de connexion et les types d’événements qu’une bibliothèque ne connaît pas encore sont ignorés : une API plus récente ne casse donc jamais une bibliothèque plus ancienne.
Jamais rejoué
Un flux qui a livré ne serait-ce qu’un événement n’est jamais retenté par la bibliothèque, car le répéter pourrait consommer votre quota deux fois. Si le flux d’un plan de cours s’interrompt après avoir commencé, suivez le même plan avec streamLessonPlan et le plan_id de son premier événement.