Seriously, green threads with yield() and autoyield on blocking operations would be great. Sometimes the easiest way to write a program is to present it as a logical flow of events, and let the machine/operating environment hide the async nature of life from you.
Then again, that would mean reinventing (again) core OS functionality in Javascript. Le sigh.
Then again, that would mean reinventing (again) core OS functionality in Javascript. Le sigh.