calledByNext
La fonction calledByNext() enregistre un callback exécuté quand une nouvelle exécution du même flow remplace une exécution asynchrone encore active. Un cas d'usage classique consiste à annuler un fetch précédent avec AbortController.
Exemple interactif
Syntaxe
typescript
function calledByNext<
GenericOutput extends unknown
>(
theFunction: () => GenericOutput
): AsyncGeneratorParamètres
theFunction: Callback appelé quand une exécution suivante du même flow arrive avant la fin de l'exécution courante.
Valeur de retour
Un générateur asynchrone qui émet un effet calledByNext. La valeur retournée par le callback n'est pas retournée par le flow.
Remarques
- L'état interne est stocké dans une
WeakMapdont la clé est la référence du flow exécuté. - Pour partager ce comportement entre plusieurs appels, réutilisez le même flow créé avec
F.create(...)ou la même fonction obtenue avecF.toFunction(...). - Un
F.run(async function *() { ... })déclaré inline crée une nouvelle référence à chaque appel et ne partage donc pas l'état decalledByNext(). - Si une même exécution yield plusieurs fois
calledByNext(...), seul le premier effet rencontré est pris en compte par le runner.
Voir aussi
queue- Sérialise ou limite les exécutions concurrentes d'un même flowthrottling- Ignore ou reporte les appels trop rapprochésexec- Exécute un flow imbriqué dans le flow courant
