developit / developit/mitt

Support for `.once()` API

Ouverte
#136 20 commentaires 48 réactions 0 personnes assignées Voir sur GitHub
enhancement
Langage dominant
TypeScript
Étoiles
11.9k
Forks
488
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

**Motivation**
I believe this is quite common use-case where you have to listen for an even only once (for example, module getting `ready`). The library does not support this inherently but could easily be done with some wiring. This would open up a new use-case support as well as users of the library does not have to write boilerplates on their own.

**Example Usage**
```ts
const emitter: mitt.Emitter = new mitt();

emitter.once('ready', () => console.log("Called Once");

emitter.emit('ready'); // Log: Called Once
emitter.emit('ready'); // No side effect
```

@developit I would love to know your opinion on this.

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Piste de recherche

Commencez au point d’entrée de l’emitter TypeScript et suivez le comportement existant des listeners et des emits décrit dans l’issue. Implémentez l’API `.once()` afin qu’un handler `ready` s’exécute uniquement lors du premier emit, puis vérifiez qu’un deuxième emit n’a aucun effet et que le comportement existant des listeners reste inchangé.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
typescript
Domaine
tooling
Type d'issue
Fonctionnalité
Difficulté
2/5
Temps estimé
1-3 heures
Activité
À l'abandon
Clarté
Clairement spécifiée
Accessibilité débutants
45/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.