問題タブ [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 投票する
1 に答える
769 参照

vb.net - URLに特定のキーワードが含まれている場合のvb.net awesomiumキャンセルリクエスト

Web アプリケーションのクライアント側アプリケーションとして awesomium と vb.net を使用しています。URLに特定のキーワードが含まれている場合にリクエストをキャンセルする方法を教えてください。たとえば、私の URL に view が含まれている場合、リクエストをキャンセルし、pdf をローカル マシンにダウンロードして、クライアントの pdf ビューアーで表示する必要があります。2 番目の部分を実行しましたが、リクエストをキャンセルする方法がわかりません。

vb.netネイティブWebコントロールを使用して、ナビゲートイベントがあります。しかし、awesomiumでこれに相当するイベントは何ですか

以下は私が使用しているコードです

URLに指定されたテキストが含まれている場合にリクエストをキャンセルする方法を誰でも言うことができますか

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

php - AJAX を多用する PHP Web アプリケーションで XHR リクエストをキャンセルするためのベスト プラクティス

私は、ユーザーの環境にダッシュボードとコントロール パネルを提供する PHP Web アプリケーションの作成者です。

コンテキストについては、アーキテクチャはおおよそ次のとおりです。

  • ユーザーインターフェイスリクエストを処理するPHP 5.4を備えたApache Webサーバー
  • ユーザー環境に関するデータを格納する MYSQL 5.5 (percona)
  • Northbound Interface (NBI) リクエストがユーザー環境に影響を与えることを可能にする別のシステムによってホストされる SOAP サービス
  • ユーザーの環境への変更を解釈し、検出された変更に従ってデータベースを更新する別の解析システム。

ユーザーが Web アプリケーションにログインすると、ユーザーの環境がデータベースから読み込まれ、表示されます。ユーザー インターフェイスは、PHP サーバーへの AJAX ポーリング リクエストで最新の状態に保たれます。ポーリング間隔がトリガーされるたびに後続のリクエストが「スタック」しないように、接続状態を JS ブール値に保存しておくことで、これらのリクエストが「スタック」しないように調整しました。つまり、アクティブなリクエストが完了するまで、後続のリクエストはスキップされます。

インターフェイスを最新の状態に保つためのポーリングに加えて、SOAP サービスは PHP サーバーへの AJAX 要求を介して利用でき、サーバーから NBI への同期 SOAPClient 要求をトリガーして、ユーザーの環境に影響を与える操作を実行できます。これらの要求に変更が加えられると、解析システムが最終的に変更を取得してデータベースを更新し、ポーリング メカニズムによってインターフェイスが更新され、ユーザーの観点から操作が完了します。

NBI 呼び出しを実行するユーザー開始の AJAX 要求は、SOAP 要求が解放されるまでにかなりの時間 (場合によっては 1 分以上) 続く可能性があり、SOAP 要求操作のステータスが、それをトリガーした AJAX 要求に返されます。

ユーザーの GUI では、他の AJAX リクエスト (ポーリングを含む) をロックダウンしていますが、これらの操作の 1 つが進行中であるため、一度に 1 つの AJAX リクエストのみがアクティブになるようにしています。

問題は次のとおりです。この要求が xhr.abort() によってキャンセルされた場合、NBI 呼び出しに対するサーバー側の要求は完了するまで開いたままになります。完了が保留されている間に、ユーザーが別の場所に移動したり、別の操作 (またはポーリング) を実行しようとすると、サーバーが元のキャンセルされた要求を完了するまで、要求は保留されます。

明確にするために:進行中の同時AJAXがないため、またはブラウザでリクエスト制限に達していないため、ホールドアップはサーバー側のようです。

中止された AJAX リクエストによってトリガーされた SOAP クライアント リクエストをサーバーが終了するまで、同じブラウザからのさらなるリクエストはサーバーで保留されているようです。

ストリームの途中で AJAX 要求を強制終了しても、サーバーで要求が強制終了されないことは理解していますが、NBI 呼び出しをトリガーした AJAX 要求が中止されるまで、サーバーがさらに要求を保留するのはなぜですか?

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

android - Android で実行時間の長い http リクエストのキャンセルを処理する

長時間実行されている http 要求 (少なくとも 100 MB のデータであるファイルのアップロードの例) をキャンセルできる、より完全なライブラリを探しています。

キャンセル API を提供する Volley を見たことがありますが、コールバックを呼び出さず、実際に実行を停止しないように処理しているようです (これについては間違っている可能性があります)。

また、キャンセルできる将来のタスクを返すため、キャンセルを処理できると思われる ION https://github.com/koush/ionを見てきましたが、これが正しい選択であるかどうかはよくわかりません私の場合。リクエストを並行して実行するのではなく、順番に実行する必要があります。

私はまた、そのようなライブラリを自分で作成しました(https://github.com/darko1002001/android-rest-client)。これは長い間使用しており、うまく機能しています。私が持っていたいくつかのケースのリクエストと進行状況の更新のキャンセルですが、正直なところ、この要件に対して十分にクリーンまたは堅牢であるとは本当に感じていません.

私は通常、リクエストの実行にスレッドプールを使用しますが、長時間実行されるリクエストを単一のスレッドプールキューに移動して、他の短いリクエストがブロックされることなく実行されますが、長時間の操作は行われます。長時間実行されるリクエストを順次実行するために、自分でリクエストの実行を管理する必要がある場合は、回避策の方が良いと思います。

誰かがそのような機能を構築した経験を共有できますか? 何を使用するかについての提案/推奨事項はありますか?

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

cancellation - C# でプロセスをキャンセルする

その中に1つのフォームとデータグリッドビューがあります。更新ボタンをクリックすると、プログレスバーのみで新しいフォームが開きます。その形で私は2つの機能を持っています。メールの接続とExcelファイルのダウンロード用に1つ。もう 1 つは、Excel ファイルを読み取り、データベースを更新するためのものです。正常に動作しています。今、プログレスバーフォームを閉じるときにキャンセルする必要があります。バックグラウンドワーカーとスレッドの作成を試みましたが、目的のために機能させることができませんでした。誰でも私を助けることができますか?

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

angularjs - 失敗したときに angularjs で後続の $http 呼び出しを防止する

私のプロジェクトでは、angularjs と RESTful API を使用しています。ページを読み込もうとしているとしましょう。そこで 6 つの残りの API を呼び出している可能性があります。最初の 1 つが失敗したとします。つまり、200 が返されますが、実際には Java レイヤーで例外が発生しています。今後のすべての通話をキャンセルする、または残りの 5 件の通話を停止するにはどうすればよいですか? 私はインターセプターの概念を認識しており、次の投稿を参照しました

AngularJS は、ルート変更時に保留中のすべての $http リクエストを中止します

各呼び出しの応答をインターセプトして、Java レイヤーから送信しているエラー メッセージがあるかどうかを確認し、配列に登録されている呼び出しをキャンセルしています。ただし、最初の呼び出しの場合、それが配列に存在する唯一のものです。それ以上の通話が発生しないようにする方法に行き詰まっています。

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

meteor - Meteor - リクエストがランダムに失敗する

一部のリクエストがランダムに失敗するという奇妙な問題があります。何がこの動作を引き起こしているのかわかりません。画像が読み込まれない場合もあれば、ajax リクエスト (cfs/severtime または algolia-search) の場合もあれば、すべて問題ない場合もあります。また、ローカルおよびオンラインでも発生します。ブラウザを更新した後、さまざまなリソースの読み込みに失敗した 2 つの異なるスクリーンショットを次に示します。

ここに画像の説明を入力 ここに画像の説明を入力

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

android - Retrofit 2.0はCallオブジェクトをキャンセルします

Retrofit 2.0、特にCall.cancel()メソッドで遊んだ人はいますか?

それをトリガーするのに最適な時期はいつですか?で電話をかけてみましonStop()Fragmentが、画面表示がオフになると通話がキャンセルされるという問題が発生しました。また、私はそれを呼び出してみましonDestroy()Fragmentが、このメソッドはトリガーされた呼び出しをキャンセルしませんViewPager(たとえば、タブ間の切り替え)

誰かがこれの実例を持っていますか?

これをループリポジトリに実装しようとしました: https://github.com/lawloretienne/Loop

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

ios - このファイルが既に存在する場合は、Alamofire ファイルのダウンロードをキャンセルします

ダウンロードしたファイルがドキュメント フォルダに既に存在する場合、Alamofire リクエストをキャンセルするにはどうすればよいですか?

リクエストのコードは次のとおりです。

また、リクエスト変数を作成して、そのファイルが存在する場合var request: Alamofire.Request?はキャンセルしようとしましたrequest?.cancel()が、機能しません。

誰かがこの問題を解決するのを手伝ってくれますか?

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

python - Tornado HTTPサーバーでHTTP経由で長いタスクを「キャンセル可能」にする方法は?

ある種の重いタスクの HTTP ラッパーを実装し、フロントエンド サーバー フレームワークとして Tornado を選択しました (これは、重いタスクが Python で記述されており、Tornado に慣れているためです)。

現在、Tornado のプロセスから重いタスクを直接呼び出すだけです。jQuery を使って何らかの Web ベースのインターフェースを用意し、フォームにパラメーターを設定して AJAX リクエストを処理させます。

ご想像のとおり、Web ブラウザーからスローしたタスクはキャンセルできません。私がキャンセルできる唯一の方法は、9 または 15 のシグナルを Python プロセスに送信することです。これは、ユーザーが通常実行できることではありません。

HTTP経由である種の「キャンセル」リクエストをリクエストすることで、現在作業中のタスクをキャンセルできるようにしたいと考えています。どうすればそれができますか?負荷の高いタスク (YouTube でのビデオ エンコーディングなど) を処理するほとんどの Web サービスは何を行っていますか?