Serviceを読んで理解し、同意したものとみなします。スタック・オーバーフローはプログラマーとプログラミングに熱心な人のためのQ&Aサイトです。2,429件0Alamofire自体が非同期通信というのは存じております。「A」「B」「C」という3つの処理があり、1「A」が正常に終わると「B」に移行する2「B」を正常に処理し終えると「C」に移行する。3「B」で受け取ったデータを元にデータを処理し、「C」の処理で送信し処理を終える。「B」が終わってから「C」の順番で処理を行うことは可能でしょうか。「A」「B」「C」それぞれがAlamofireでの処理になります。一つずつキューを使って処理すべきなのでしょうか。票1非同期処理をうまく使いこなすコツは「待たない」こと、完了後のデータが必要な処理は完了ハンドラの中に書くことの2点です。コメントに示したように「普通に入れ子にする」と、どうひいき目に見ても見やすいとは思えないコードになってしまいます。}こういう場合、完了ハンドラをクロージャーとして直接書かずに、メソッドで指定すれば少し見やすくなるのではないかと思います。完了ハンドラ群をこんな感じでメソッドで定義しておきます。//...Cのレスポンスに対する処理}後は、最初の完了ハンドラを指定して、最初のリクエストを投げるだけです。onResponseA)入れ子にするパターンも、完了ハンドラを別メソッドにするパターンも、要は「前の処理の完了ハンドラの中で、次のリクエストを送信する」ということを続けているだけです。上のどちらかのやり方で確実に処理ができるはずです。Appleのサンプルコードを見回しても、非同期処理の終了を待ち合わせるためにNSRunLoopを使うようなコードは全くありません。ともそんな「脆い」方法をとらず、確実に動作する方法をとられるよう強くお勧めしておきます。個の銅バッジ完了ハンドラ郡をメソッドで定義しておく方法で無事処理できました。NSRunLoopを使用する方法は確実ではないのですね。こちらのサイトのやり方で無事処理させることが出来ました。個の銅バッジ1そのやり方はあまりお勧めできるものではありません。言うのは、通常のViewController内のメソッドはNSRunLoopに管理されて実行されており、「NSRunLoopで管理されているメソッドの中からまたNSRunLoopを回す」といった処理をすると、(そんなことはApple的には想定していないので)動作は未定義、微妙なタイミングで起動されるべきメソッドが実行されるかどうかは運任せ、と言う状態になってしまいます。Apple製フレームワークにはpromiseだのasync/awaitだのが無いのであまりかっこよくは書けないのですが、「普通に入れ子にする」ことで処理可能なはずです。|回答スタック・オーバーフローに参加してくれて、ありがとうございます!質問の回答を共有してください。回答を説明し、自分の検討結果も共有してください。意見を述べること(意見を述べるなら、参照リソース、自分の経験で意見をサポートしてください)さらにサポートが必要な場合このヘルプを参考してください。“回答を投稿”をクリックすることで利用規約、プライバシーポリシー、及びクッキーポリシーに同意したものとみなされます。タグが付いた他の質問を参照するか、自分で質問をする。callのエラー対策について(alamofire?)1Alamofireの読み教えてください。質問のフィードこのRSSフィードを購読するには、このURLをコピーしてRSSリーダーに貼り付けてください。