非同期プログラミングでは、次のような多くのコールバックを使用します。
var running = function(){
do_sth();
$.post("/xxx", function(data){
do_sth2();
$.get("/ttt", function(data){
do_sth3();
}
}
}
そして私は物事はこのようになるべきだと思います:
var running = do_async(function(){
do_sth();
var data = $.post("/xxx");
do_sth2();
data = $.get("/ttt");
do_sth3();
});
どうやってやるの?
これに関するプロジェクトがあります:https ://github.com/JeffreyZhao/jscex
このプロジェクトはそれほど使いやすいものではないと思います(実装はソースコードを解析することによって行われます)
将来的には、これについてネイティブのJavaScriptサポートがありますか?
私はこれについていくつかの調査を行い、参考のためにここでいくつかの議論とライブラリを見つけました:
https://github.com/JeffreyZhao/jscex
Coffeescriptを延期する https://github.com/jashkenas/coffee-script/issues/350
Coffeescriptにマージ: https ://github.com/jashkenas/coffee-script/issues/350
tamejsライブラリ http://tamejs.org/
stratifiedjs http://onilabs.com/stratifiedjs
kaffeine http://weepy.github.com/kaffeine/
これに関するwikiページ:http: //en.wikipedia.org/wiki/Continuation-passing_style
それをサポートするライブラリを追加するのは簡単ではありませんが、
おそらく将来的には、javascriptは「defer」キーワードを追加するでしょう。