問題タブ [request-cancelling]

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.

0 投票する
2 に答える
3095 参照

c# - 継続して TPL タスクを正しくキャンセルする方法

TPL を使用してバックグラウンド スレッドに配置している長時間実行操作があります。私が現在持っているものは機能していますがAggregateException、キャンセルリクエスト中にどこで処理する必要があるかについて混乱しています.

ボタンクリックイベントで、プロセスを開始します。

DuplicateSqlProcsFrom(CancellationToken _token, SqlConnection masterConn, string _strDatabaseA, string _strDatabaseB, bool _bCopyStoredProcs = true, bool _bCopyFuncs = true)私が持っている方法では

ボタン Click イベントで (またはdelegate(buttonCancel.Click += delegate { / Cancel the Task / } ) I cancel theTask` を次のように使用して):

OperationCanceledExceptionこれはメソッドの罰金をキャッチし、私のメッセージを出力しますが、上記DuplicateSqlProcsFromによって提供されるコールバックでは、常に; です。キャンセルするべ​​きです!asyncDupSqlProcs.ContinueWith(task => { ... });task.StatusRanToCompletion

Cancel()この場合、タスクをキャプチャして処理する正しい方法は何ですか。CodeProject のこの例と MSDNの例に示されている単純なケースでこれがどのように行われるかは知っていますが、この場合、継続を実行するときに混乱します。

この場合、キャンセル タスクをキャプチャするにはどうすればよいですか? また、タスクtask.Statusが適切に処理されるようにするにはどうすればよいですか?

0 投票する
2 に答える
238 参照

javascript - ajaxリクエストのキャンセル:ハンドラーは引き続き実行できますか

JavaScriptはシングルスレッドであることが保証されていますか? javascript はシングル スレッドですが、まだ注意事項があることが明らかになりました。

次の疑似コードが常に予測可能かどうか疑問に思っていました (私は jQuery を「使用しています」)。

クリック イベントとアボートの間に、サーバーからのデータが送信され、イベント キューにイベントが置かれた可能性があります。これが中止の直前に発生すると、ajax 投稿の成功イベントがトリガーされます。この可能な競合状態を実際にテストする方法がわかりません。

誰でもこれがどのように機能するか考えていますか? または、準備された例でこれをテストする方法は?

0 投票する
0 に答える
1253 参照

http - NodeJでhttpリクエストを中止または停止するにはどうすればよいですか?

NodeJsアーキテクチャは、サーバーリクエストを非ブロッキング方式で処理するのに非常に優れていますが、サーバー側で処理されているリクエストを停止/中止する必要がある場合があります。

サーバーをブロックしていない場合でも、NodeJsサーバーにリクエストを中止させるにはどうすればよいですか?

0 投票する
1 に答える
1512 参照

c# - リンクをクリックしたasp.netでリクエストをキャンセル

アクセスするたびに大量のデータをロードする Web サイト (ASP.NET 4.0 C#) にホームページがあります (基本的にはダッシュボード)。これは(ユーザーによっては)ロードに時間がかかる場合があるため、各セクションを更新パネルに分割して個別にロードし、ユーザーがページがフリーズしたと考えるだけでなく、ロードを確認できるようにしました。ただし、ユーザーが待機したくない場合に別のページへのナビゲーション メニュー (またはリンク) をクリックすると、ページが完全に読み込まれるまで待たなければならないため、新しい問題が発生します。

別のリンクがクリックされた場合にページリクエストがデータをロードするのを止めて、そのリンクを処理する方法はありますか?

詳細情報-ナビゲーションメニューが配置されているマスターページと、ホームページのajax更新パネルを使用しています。

0 投票する
1 に答える
946 参照

.net - BinaryReader.ReadByte()はタイムアウトしません

私はインターネットストリームを持っていて、そこからリーダーを作成しています

その後、「同期ワード」を検索するためにバイトを読み取っています

しかし、時々私はに問題がありReadByte()ます。リーダーがストリームからバイトを読み取れない場合は例外がスローされると予想しましたが、何もスローしません。(サーバーはシャットダウンされません。バイトを提供しないでください)。

だから私の質問は-このメソッドをタイムアウトする方法は?CancellationTokenでTPLを使用できますが、必要なときにメソッドReadByteをキャンセルする方法がわかりません。

0 投票する
1 に答える
933 参照

android - Android:同期サービス呼び出しをキャンセル/中断する方法は?

Application オブジェクトについては、 を呼び出しますbindService()onServiceConnected()コールバックはオブジェクトを受け取り、それIBinderを に渡しAsyncTaskます。

そこで、呼び出してサービス オブジェクトを取得し、このサービス オブジェクトServiceClass.Stub.asInterface(iBinderObject)を使用して何らかのメソッドを呼び出します。

これは同期メソッドであり、サービスのタイムアウト設定に影響を与えることはできません(そして、タイムアウトの実装が信頼できるかどうかは誰にもわかりません)。そのため、事前にpostDelayed()、別のスレッドで独自のタイムアウト ハンドラーを作成します。

タイムアウト コードはunbindService()、アプリケーションをサービスからバインド解除するために呼び出し、タイムアウトの結果を生成します。

タイムアウトが最初に実行された場合にサービス呼び出しを中断する方法が見つかりませんでした。これunbindService()に関しては、目に見える効果はありません。呼び出しAsyncTask.cancel(true)ても何も変わりません。このIBinderオブジェクトは、役立つ可能性のある明確なメソッドを提供していないようです。

私が観察したことは、AsyncTaskがサービス コールが返されるのを待機し続けることです。これAsyncTaskにより、標準では次の開始が大幅に遅れる可能性がありますExecutor

経験はありますか?アイデア?

0 投票する
0 に答える
179 参照

node.js - formiable-node でファイルのアップロードをキャンセルする際のエラー

ファイルのアップロードに Formiable-node を使用しています。アップロードをキャンセルしようとすると、次のエラーが発生します。

私のコードは次のようになります。

バックエンドの 1 つとして formiable を使用しているhttps://github.com/blueimp/jQuery-File-Upload/blob/master/index.htmlも使用しています。

ありがとう。

0 投票する
1 に答える
1411 参照

google-drive-api - GoogleドライブSDK:アップロードをキャンセル

でファイルアップロードリクエストをキャンセルする方法はGoogle Drive SDK

を呼び出す.NET4タスクを作成しています

ここでキャンセルトークンを使用してタスクをキャンセルすることはできません。また、リクエストをキャンセルする方法も見つかりません。アップロードプロセスを停止するにはどうすればよいですか?\

アップデート

こんにちは?だれかいますか?

0 投票する
0 に答える
90 参照

php - ページへのリダイレクトでは、ページがキャンセルされてから呼び出され、ページへの手動呼び出しは最初にキャンセルされずに機能します

これをできるだけ短く説明しようと思います。顧客が iDeal (PayPal のようなオランダのオンライン支払い方法) から当社の Web サイト (ページ A としましょう) に戻ると、Web サイトはいくつかのことを処理します (DB の更新、請求書の作成など)。また、金融関連の処理を行うプログラムに対して SOAPclient 要求を行う必要がありました。

奇妙なことに、このページ A に最初にアクセスしようとすると、ページがキャンセルされ (Chrome の [ネットワーク] タブに表示されるように)、再度呼び出され、今回は機能します。これは実際の問題ではありませんが、メールが 2 回送信されるようになりました。

私がそれについて奇妙に思うのは、cronjob で呼び出される別のページ (ページ B) にもまったく同じコードがあることです。ページBでは正常に動作します。また、ページ A を手動で呼び出した場合 (リダイレクトはありませんが、ブラウザに URL を入力した場合) も機能します。

これが私のコードです: (これは金融プログラムによって私に与えられたものです。)

私の質問は、私のページ A がキャンセルされるのはなぜですか? その部分をコメントアウトすると、問題なく動作するため、それが SOAPclient 呼び出しであることは間違いありません。これは SOAPclient の問題か何かですか?

回避策を作ることもできますが、最初にページ A がキャンセルされる理由を突き止めることができればよいでしょう。

編集:これは私のコンソールが示すものです ここに画像の説明を入力