問題タブ [continuewith]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 前のタスクが完了するのを待たないC#チェーンContinueWith
C# async/await の非同期性をテストしていて、ContinueWith の後続のコードが前のタスクの完了を待たないという驚きに遭遇しました。
以下のテストメソッドで実行されます。
出力は、run 0.0、1.0、および 2.0 の実行が非同期で正しく実行されることを示していますが、後続の x.1 および x.2 はほぼすぐに開始され、x.2 は x.1 の前に実際に完了します。以下に記録されている例:
continueWith は、後続のチェーンに関係なく、最初のタスク (0) でのみ待機するようです。この問題は、最初の Continuewith ブロック内に 2 番目の ContinueWith を入れ子にすることで解決できます。
私のコードに何か問題がありますか? Console.WriteLine が FIFO を尊重すると仮定しています。
vb.net - VB.net 続ける
リスト内のすべてのアカウントをループし、プロセスを高速化する方法として各アカウントのタスクを使用してアカウントに何かを行うこのコードがあります。プログラムがこのアクションを完了するたびに、ユーザー インターフェイスで進行状況バーを更新する必要があります。以前は Invoke を使用していましたが、最適なオプションではなく、機能させることができませんでした。バックグラウンドワーカーを使用してこれを実行できることはわかっていますが、これはアプリケーションをマルチスレッド化する最良の方法ではないため、これを使用しました。そして、呼び出しの代わりに、ContinueWith について聞いたことがありますが、動作しているようには見えず、赤い下線だけのエラー メッセージは表示されません。コード:
私はまた、後にサブを入れようとしましたが、それは何もしませんでした. 事前に助けてくれてありがとう。
呼び出しで更新を試みました:
それでもうまくいかないのですが、なぜですか?
c# - Async Await と ContinueWith が期待どおりに機能しない
.NET Standard 2.0 で実行される次のコードがあります。
そして、期待どおりに実行されていないことに気付きました。TryRun の呼び出しを待っているときは、例外/キャンセルを処理してジョブの結果を返すことができる継続を常に呼び出すと考えていました。作成される非同期ステート マシンの量を減らしたいと考えていましたが、そうではありません。小さなサンプルを次に示します (新しい .net core 2.0 コンソール アプリを作成し、以下を貼り付けます。
<LangVersion>Latest</LangVersion>
csproj で必要になる場合があります。
アップデート
最終的に次のコードを使用しました。
c# - 最終的に TaskContinuationOptions を使用する方法はありますか
最終的に TaskContinuationOptions を使用する方法はありますか?
これが私のコードです
これが私の質問です
last ContinueWith をfinallyのように使いたかったのです。それで、最後の ContinueWith フレーズを次のように変更しました
最後のタスクが完了または失敗したときに使用されると思いました。
しかし、それはエラーをスローします。
私の問題を解決する良い方法があることを願っています。
私の質問を読んでくれてありがとう。