Serviceを読んで理解し、同意したものとみなします。スタック・オーバーフローはプログラマーとプログラミングに熱心な人のためのQ&Aサイトです。8,985件13アンケートを作っています。type="button">が複数あり、ボタンを押すとAjaxで親のフォームアクションから非同期通信を行います。この時ボタンがA,B,C,Dあったとして、ABCは普通にAjax通信します。}このようにAjax文の中にさらにAjax文をネストするのは嫌です。条件として、Dをクリックしても必ず最初に一度通信は行われるものです。できれば下記みたいなAjax関数にするのも嫌です。個の銅バッジ2$.Deferred()を使うとできます。こちらをごらんください。buttonDTaskを実行します。GET/POST、フォーム/JSONなど細かな違いはありますが、本質的な部分はご要望を満たしているのではないかと思います。個の銅バッジこちらの構文をご利用したいと思います。|4非同期処理で頻発するそのようなコールバックのネストを解消するためには、ジェネレータを使います。コード例としては以下のようになります。src="https://cdnjs.cloudflare.com/ajax/libs/co/4.1.0/index.js"></script>なお、PromiseやDeferredでコールバックのネストが避けられるという主張がされることがありますが、それは関数を分割してネストを分解しているだけで、今度は一箇所に本来まとまっているべきコードが分散するという別の問題を持ち込むことになり、根本的な問題の解決にはなりません。勘違いされますが、Promiseの目的は非同期処理の抽象化であって、コールバック地獄の解消ではありません。|0非同期処理をしている以上コールバックを待たなければいけないので関数がネストするのは避けられないと思います。個の銅バッジ3コールバック無間地獄を避けるためにはPromiseを使いましょう。|回答スタック・オーバーフローに参加してくれて、ありがとうございます!質問の回答を共有してください。回答を説明し、自分の検討結果も共有してください。意見を述べること(意見を述べるなら、参照リソース、自分の経験で意見をサポートしてください)さらにサポートが必要な場合このヘルプを参考してください。“回答を投稿”をクリックすることで利用規約、プライバシーポリシー、及びクッキーポリシーに同意したものとみなされます。タグが付いた他の質問を参照するか、自分で質問をする。質問のフィードこのRSSフィードを購読するには、このURLをコピーしてRSSリーダーに貼り付けてください。