実現したいこと
JSONをリードしようとしています
ファイルをResourceからリードしようとしているのですが、非同期関数でリード完了してから次の処理に移りたい
発生している問題・分からないこと
ファイルのリードが完了してから次の処理に移りたいが完了せずに他の処理が走ってしまい、
そちらの処理が終わってから実行が戻ってくる
該当のソースコード
c#
1private async Task foo() 2{ 3using Stream stream = await FileSystem.Current.OpenAppPackageFileAsync("data.json"); // ★ ここが終わらないまま他のメソッドが実行される 4using var reader = new StreamReader(stream); 5var contents = reader.ReadToEnd(); 6var data = JsonSerializer.Deserialize<FirmInfo>(contents); 7}
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
Androidだと、順番通りに実行されるがWindowsだと次の処理が走ってしまう
fooの呼び出しにもawaitを付与してみたが、やはり他のメソッドに処理が移ってしまう
補足
awaitで、該当のメソッドが完了するまで待つと思っているのですが何が問題なのかわからないです
回答1件
あなたの回答
tips
プレビュー