_hyperscript icon indicating copy to clipboard operation
_hyperscript copied to clipboard

Wait for <x> and <y>

Open benpate opened this issue 4 years ago • 0 comments

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.

benpate avatar Mar 15 '21 21:03 benpate