私は何らかのボット(コマンドラインアプリケーション)を書きました。私は "forEach"メソッドを使用しているときに非同期実行に問題があります。ここ は、私が何をしようとしているの単純化されたコードです:List.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
誰かが私が間違っていることを知っていれば、私はそれを感謝します。
これは私が考え始めたことです。それを確認していただきありがとうございます。私は "待っている"という表現は、それを取り巻いているものに先行していると思っていたが、ああああ... – aelayeb