こんにちは。
「質問への追記・修正の依頼」のほうで確認させて頂きました、
action_Aを実行させ、その実行終了を待って、action_Aの結果をもとにaction_B (だったり、あるいはAの結果によってはaction_Cだったり)を実行
を実現するための一案を回答します。
action_Aを実行させ、その実行終了を待って
ということなので、action_A を dispatch することで実行される処理は、分かりやすい例でいうと
Web APIの呼び出しのような非同期処理を想定しています。
つまり、action_A で何らかの Web APIを呼んで、それが成功(200 OK など)で返ってきた場合は、
次に、action_Bを行い、失敗(レスポンスコードが404や500)の場合は、action_C を
dispatch したい、という状況です。
このような非同期処理と redux の連携には、redux-thunk や redux-saga を使うのが、
現時点では良いかと思います。
良いと思われる理由は、それぞれの使い方の記事や質問、回答が stackoverflow やQiita、
本家GitHubレポジトリのissuesで、それなりに見つかるからです。
これらについての概要を把握するには、以下あたりにざっと目を通すとよろしいかもしれません。
また、手前味噌で恐縮ですが、私も今いま、reactとreduxを使った(それなりの規模の)
フロント開発に従事しておりまして、そこでは redux-saga を使っていますが、
その開発途上で生じた課題解決を試すコードを書いて 以下を投稿しました。
上記、redux-saga を使ったサンプルとして、ざざっと眺めてもらえると嬉しいです。
それと、最近、JavaScript の最新動向について調べる機会があって、そこで、
「ES7 の Async/Await を使うと redux-saga も不要になるかも?」
と思ったりもしましたが、今のところ、目下のプロジェクトでは redux-saga を
便利に使わせてもらっています。
以上、参考になりましたら幸いです。
追記
最終的には、redux-thunk や redux-sagaのような、世に出回っているものを採用するにしても、
ご質問にあるような、「middlewareを自分で実装してみよう」という試みはとてもよいと思います。