Similaire au promises pattern Je cherche un modèle d'événement qui évite d'avoir besoin de polluer des objets avec les méthodes addEventListener/etc, je veux être capable de retourner un objet, que peut être annulé ainsi que "résolu" plusieurs fois.Similaire aux promesses/différées qui supportent plusieurs résultats et annulation
Par exemple, je peux écrire une méthode qui retourne un objet « intervalle », quelque chose comme ceci:
var ticker = createTicker(1000);
var subscription = ticker.then(function() { console.log('tick') });
... later on ...
subscription.cancel();
Les principales différences étant ici, semblable à une promesse des événements sont standardisés, afin que je puisse abonnez-vous sans avoir besoin de connaître le nom de l'événement, mais contrairement à une promesse, le "achèvement" peut arriver plusieurs fois, et peut même être annulé (cela équivaudrait à removeEventListener). Je suis intéressé de voir si cela est légal avec des promesses, telles que le gestionnaire de progression pourrait être utilisé pour plusieurs rappels, et le gestionnaire complet jamais utilisé, mais plus important encore, qu'il existe un concept de désabonnement à partir d'une promesse .
Si ce n'est pas le cas, et que les promesses sont spécifiques à ce scénario, existe-t-il un modèle normalisé pour faire ce que j'ai décrit?
Que diriez-vous de regarder le modèle EventEmitter? – HaxElit
Personnellement, je suis contre les modèles traditionnels comme EventEmitter, car cela a une dépendance de prototype (ie que tous les objets eventables implémentent des membres émetteurs d'événements, ou si vous avez un EventEmitter statique, chaque librairie doit être d'accord avec un EventEmitter) , le modèle de promesse est bon car il encapsule l '«événement» et n'exige pas que les bibliothèques s'accordent sur un objet de promesse standard, car le modèle de promesses est tout polymorphique – meandmycode