3 ms·
hyperscript is focused on the common cases for light front end scripting, so right now there isn't syntax for doing operations in parallel. If I needed that I
by recursivedoubts 5y ago
hyperscript is focused on the common cases for light front end scripting, so right now there isn't syntax for doing operations in parallel.
If I needed that I would kick out to javascript and use Promise.all() to return an expression that hyperscript could then sync on
the wheelhouse for hyperscript is stuff like:
on load
wait 5s
transition my opacity to 0
remove me
where you don't have to do any async or callback stuff for what are, at root, async operations.
- zkldi 5y agoI don't get it then; your fix to promises being complicated is to remove the ability to perform asynchronous actions. That's cool for a small scripting language I guess, but absolutely impractical for anything serious.
- recursivedoubts 5y agohyperscript is designed for small, embedded front end scripting needs: toggling classes, listening for events from its sister project, https://htmx.org https://htmx.org, etc. It isn't a general purpose programming language for use, for example, on the server side in a node-like environment. you can still perform things asynchronously by wrapping any expression or command in an `async` prefix: https://hyperscript.org/commands/async/ https://hyperscript.org/commands/async/ but there isn't a mechanism for resolving all of them although, now, come to think of it, the following would work: set results to {result1: somethingThatReturnsAPromise(), result2: somethingElseThatReturnsAPromise()} That would work out because under the covers the hyperscript runtime calls a Promise.all() on those field values before it continues. Kind of a hack, but it would work. Anyway, again, hyperscript is a DSL targeted at small front end scripting needs rather than being a large scale concurrent systems programming language.