コードを見なければ何が起きているか分かりませんので、実際のコードを貼って質問してください。
Like!
とある文字列を10カ所から読み取って、変数に格納しています。
if文を使ってその変数が空じゃなかったら、順番にその変数を使って出力(処理)しろと順番通りに書きました。
しかし、
変数1~10の順番で思った処理を返してくれず、
順番が2番、1番、5番、、、、とバラバラに処理されて返ってきます。
これはなぜでしょうか?
素人考えだと、変数のデータが小さいものから先に処理されているから、こうなるのかなと思ってるのですが、間違いでしょうか?
でも、if文で順番通りに記述しているので変だなと。
1つ1つ、1番の変数に代入したら、2番、次は3番に代入とかやれば解決するのかと思って質問しました。
コードを見なければ何が起きているか分かりませんので、実際のコードを貼って質問してください。
ファイル処理で中身を読んで、成功コールバックで変数に代入します。10ファイルを順番で処理して、成功コールバックはばらばら実行されている現象でしょうか。
TaskCompletionSource<T>
のインスタンスを用意して 完了時に TaskCompletionSource<T>.SetResult(t)
で値を設定し、
TaskCompletionSource<T>.Task
をまとめて Task.WhenAll
で待ち合わせするとかそういう話でしょうか?
ということは「10か所読み取って変数に格納」をすべて終えた後であれば、格納される順番を気にする必要はないはずです。
「変数に格納」の時点で「出力(処理)」まで行おうとするのが間違いなのではないでしょうか。
何の言語か知らんけど、reactならuseEffect。