問題タブ [eventqueue]
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.
javascript - Ajaxがキューに入れられたコールバックをキャンセルするには? (Javascript で実行時間の長いメソッドをキャンセルするには?)
私はjavascriptが初めてです。
これは Web サイトのシナリオではありませんが、ローカルの JavaScript と HTML、CSS を使用した Android WebView はまだ使用されています。
私がやっていることは、n AJAXリクエストを使用してローカルファイルをリクエストすることです.コールバックで現在のドキュメントに追加し、ドキュメントの長さを計算します(element.scrollWidthを介して、実際のレイアウトをトリガーするように見え、数秒かかることがあります-あらゆる要求に対して、重労働)
ここで、この操作全体をキャンセルする必要があるかもしれません。
しかし
私が学んだように、JavaScript はイベント キューを使用するため、AJAX は並列ですが、コールバックは同期的です。したがって、私の場合、AJAX は高速ですが、コールバックには時間がかかります。ここに問題があります。Android から cancel() を呼び出すと、それはすべてのコールバックの後に事実上イベント キューに置かれるだけなので、このキャンセル メソッドが既にコールバックをキューに入れているイベント ループに対して何かを行う方法はありません。 true グローバル変数。すべての ajaxed が返されたため、中止しても何もせず、コールバックだけがキューで待機しています。
これをキャンセルする方法はありますか?または、まったく異なるアプローチが必要ですか?(Javaではメソッドをキャンセルし、処理は異なるスレッドで実行されるため、ここではJSではすべてが単一のスレッドで実行されるため、私の推測ではそうではありません)
node.js - ノード js の場合、イベント キューまたはタスク キューは、タスクのキューイングのみを目的としていますか?
nodeJs の場合、イベント キューまたはタスク キューはタスクのキューイングのみを目的としており、何らかの種類の非同期呼び出しが存在する場合は、libuv ライブラリ内に存在する c++ API によって処理されます。
たとえば、db クエリが発生している場合、プロセスはどのように正確に流れますか?
java - eventqueue 矢印の意味
Googleでそれを説明するものを見つけることができなかったので、この特定の例の矢印が何をするのかを尋ねることにしました.
私が学ぼうとしているサイト: http://zetcode.com/tutorials/javagamestutorial/basics/
助けてくれてありがとう!~