[解決済み] DartのList.forEach()でAsync/awaitする方法
2023-05-31 04:49:33
質問
私はある種のボット(コマンドラインアプリケーション)を書いているのですが、"forEach"メソッドを使用しているときに非同期実行で問題が発生しました。 以下は、私がやろうとしていることの簡略化されたコードです。
main() async {
print("main start");
await asyncOne();
print("main end");
}
asyncOne() async {
print("asyncOne start");
[1, 2, 3].forEach(await (num) async {
await asyncTwo(num);
});
print("asyncOne end");
}
asyncTwo(num) async
{
print("asyncTwo #${num}");
}
そして、これがその出力です。
main start
asyncOne start
asyncOne end
main end
asyncTwo #1
asyncTwo #2
asyncTwo #3
私が得ようとしているものは:
main start
asyncOne start
asyncTwo #1
asyncTwo #2
asyncTwo #3
asyncOne end
main end
もし誰かが私が間違っていることを知っているならば、私はそれを感謝します。
どのように解決するのですか?
でやりたいことは実現できないと思います。
forEach
メソッドでは実現できないと思います。しかし
for
ループで動作します。例
asyncOne() async {
print("asyncOne start");
for (num number in [1, 2, 3])
await asyncTwo(number);
print("asyncOne end");
}
関連
-
[解決済み] Javaの「for each」ループはどのように機能するのですか?
-
[解決済み] async」と「await」の使い方とタイミング
-
[解決済み] foreachループの現在の反復処理のインデックスを取得するにはどうすればよいですか?
-
[解決済み] async/await関数を並列に呼び出す
-
[解決済み] async/await - タスクとvoidをいつ返すか?
-
[解決済み] async/await構文で拒否する方法は?
-
[解決済み】PHPの'foreach'は実際どのように動作するのですか?
-
[解決済み] Flutterで次のTextFieldにフォーカスを移すには?
-
[解決済み] Flutter StreamBuilderとFutureBuilderの比較
-
[解決済み] FlutterでSafeAreaを使用する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Flutter 条件に応じてリストをフィルタリングする
-
[解決済み] テキストフィールドの値を変更するには?
-
[解決済み] FlutterのprimaryColorとprimarySwatchの違いは何ですか?
-
[解決済み] Flutter: タッチスクリーンでのスクロールを無効にするListView
-
[解決済み] フラッターのライフサイクル
-
[解決済み] 丸みを帯びたボーダーを持つボタンを作成する [重複]。
-
[解決済み] Flutterのアウトラインがandroid studioで "Nothing to show "と表示される。
-
[解決済み] Flutterアプリがウェブ上で動作しているかどうかを検出するには?
-
[解決済み] SingleChildScrollViewでExpandedを使用するには?
-
[解決済み] DartのNull Safetyとは何ですか?