Я думаю, что вы ищете StraifiedJS, http://stratifiedjs.org
Это позволяет вам «организовать» ваш асинхронный код точно так же, как вы написали, ОСТЕРЕГАЙТЕСЬ, что он «пишет» как синхронный код, он НЕ заблокирует остальную часть вашего приложения.
Вы можете использовать его где угодно, загрузив библиотеку apollo js.
Вот как это будет выглядеть в стратифицированном JavaScript:
function getState() {
waitfor (var ret) {
// block on the asynchronous call
asyncCall("request", resume);
}
return ret;
}
конечно, есть модули / библиотеки, которые бы выглядели так:
http://onilabs.com/modules#http
function getState() {
return http.get("request");
}