bigskysoftware / bigskysoftware/_hyperscript
Wait for <x> and <y>
- Vorherrschende Sprache
- JavaScript
- Sterne
- 3.8k
- Forks
- 172
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
The `wait` syntax in hyperscript does a great job of enabling event controlled flow. However, it has trouble when waiting on more than one event at the same time. For example:
```
on closeModal(event)
add .closing to #modal
async do
if theURL is not null then
fetch theURL then
put it into #main.innerHTML
end
trigger fetchDone
end
wait for animationend
wait for fetchDone
remove #modal
end
```
This should work if `animationend` finishes before `fetchDone`, but it deadlocks if `fetchDone` completes first.
I think hyperscript would benefit from a `wait for x and y` syntax that is similar to `Promise.all()` that only returns after all of the events have triggered.
This might be generalized to other kinds of operations, such as `wait for any of x and y and z` but my first guess is that this would be less commonly useful.
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Rechercherichtung
Beginne damit, die Hyperscript-Syntax `wait` und den im Issue beschriebenen ereignisgesteuerten Ablauf zu lokalisieren. Verwende das bereitgestellte Beispiel mit `animationend` und `fetchDone`, um das Verhalten zu untersuchen, wenn eines der beiden Ereignisse zuerst eintritt. Als erledigt gilt, wenn eine Form `wait for x and y` erst fortgesetzt wird, nachdem beide Ereignisse ausgelöst wurden, ohne zu blockieren, wenn sich ihre Reihenfolge ändert.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- javascript
- Bereich
- web-dev
- Issue-Typ
- Feature
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100