"delay" keyword

Tom Van Cutsem tomvc.be at gmail.com
Wed Jul 4 10:45:10 PDT 2012

This idea has been explored before. Some relevant pointers:

Kris Kowal's Q API with experimental support for using generators to write
synchronous-style yet asynchronously-executing functions:

Strawman for standardization of the above idea:

Task.js: cooperative multithreading via generators:


2012/7/4 Patrik Stutz <patrik.stutz at gmail.com>

> Hi guys!
> Today, a really cool idea for a new keyword in JavaScript came to my mind.
> It's called 'delay'.
> What does the delay keyword ?
> The delay keyword does nothing more than stop the execution of the
> current stack and immediately continues to the next task in the queue. But
> that's not all! Instead of discarding the stack, it adds it to the end of
> the queue. After all tasks before it are done, the stack continues to
> execute.
>  What is it good for?
> delay could help make blocking code non-blocking while it still looks
> like synchronous code. A short example:
> setTimeout(function(){
>     console.log("two");
> },0);
> console.log("one");
> delay; //since there is currently another task in the queue, do this task first before continuing
> console.log("three");
> //Outputs: one, two, three
> This simple keyword would allow us to create a synchronous-looking code
> wich is asynchronous behind the scenes. Using node.js modules, for example,
> would no longer be impossible to use in the browser without trickery.
> There would be so many possibilites with such a keyword!
> What do YOU JAVASCRIPT DEVELOPERS think about it? What do you think can I
> do to bring this into the new ECMAscript Specification?
> Please disuss as much as you want! :)
> _______________________________________________
> es-discuss mailing list
> es-discuss at mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20120704/026c4257/attachment-0001.html>

More information about the es-discuss mailing list