every and each unmounting...
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 25/100
Piste de recherche
Commencez par le comportement AutoUnmount de Observable et les classes Browser::Interval et Browser::Delay mentionnées dans l’issue. Examinez la manière dont every, each, every! et each! gèrent actuellement le démontage, puis déterminez lesquelles des sémantiques proposées et quel comportement d’override doivent être implémentés. Le travail est considéré comme terminé lorsque le comportement choisi du cycle de vie du timer est cohérent et couvert par les tests pertinents du projet.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
every makes sense, as the timer will keep running for ever. But should any each timer that is still running when things unmount also be unmounted? Note that Observable includes AutoUnmount, so any store will get this behavior as well!
Then, on the other hand, there is an each! and every! method (they don't auto start, so you have to say each!(x).start. Neither of these timers IS auto-unmounted.
Couple of options:
- just take after out of unmount, and forgettabout it.
- 1 + provide a remove_after_timers method callable in Observable
- leave it, and if you want a timer that isn't unmounted use the bang variation.
- provide auto_unmount(x) attached to the timers so you say:
after(12).auto_unmount(true)orevery(12).auto_unmount(false)to override the defaults.
Currently I think its best to make both every and every! behave the same, and make each and each! not autounmount, and then add the auto_unmount method to the Browser::Interval and Browser::Delay classes.
attr_accessor :mount_point
def auto_unmount(yes)
# warning message and return if mount_point is nil
if yes
AutoUnmount.objects_to_unmount[mount_point] << self
else
AutoUnmount.objects_to_unmount[mount_point].delete(self)
end
end
alias unmount abort
now all the automounter does is set mount_point
def every!(*args, &block)
super.tap do |id|
next id if unmounted?
id.mount_point = self
id.auto_unmount(true)
end
end
def after!(*args, &block)
super.tap { |id| id.mount_point = self unless unmounted? }
end
- Langage dominant
- JavaScript
- Étoiles
- 538
- Forks
- 41
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de hyperstack-org/hyperstack
-
expose_as_operations method Ouverteenhancement needs doc
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
hyperstack-org/hyperstack#359 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
hyperstack-org/hyperstack#267 ·
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
hyperstack-org/hyperstack#457 ·
-
Difficulté 3/5 1-2 jours Accessibilité débutants 35/100
hyperstack-org/hyperstack#456 ·
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 15/100
hyperstack-org/hyperstack#455 · 2 commentaires ·
Toutes les issues de hyperstack-org/hyperstack
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
palladius/rails8-app-on-gcp#145 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
dotenvx/dotenv-vscode#139 ·
-
test-change-proposal
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
web-platform-tests/interop#1455 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
corsairdev/corsair#1764 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100