2

Javascriptでマルチスレッド実行を実装する方法はありますか?ユーザーの最小待機時間を目標として、アプリケーションにページ付けを実装しています。すべてのデータを一度にクライアント側に持ってくることも、「次へ/前へ」ボタンがクリックされるたびにサーバーとDBをヒットさせることもしたくありません。そのため、フロントエンドユーザーが最後のページに到達していないときに、ブラウザーでリクエストを作成してデータリストを更新する必要があります。

これを実装した人がいたら、私に提案してください。

4

4 に答える 4

3

setInterval ofおよびsetTimeOut関数を使用してマルチスレッド効果を得ることができますが、それは本当のマルチスレッドではありません。ここで素晴らしい議論を読むことができます。

于 2012-05-06T07:00:04.323 に答える
1

あなたは無限のスクロール技術を見ることを検討するかもしれません。PaulIrishのInfiniteScrollなど、これを容易にするプラグインがいくつかあります。

これは、Twitterなどのサイトで使用されているのと同じ手法であり、ユーザーが下にスクロールするとページが更新され、ユーザーにシームレスなUIエクスペリエンスが作成され、遅延がなくなります。

于 2012-05-06T07:01:41.397 に答える
1

タイマー(setTimeout)を使用して、JSの非同期性をシミュレートできます。時限イベントは次の場合に実行されます

  • タイマーに到達しました
  • JSが何もしていないとき

したがって、setTimeoutを使用して実行時に「ギャップ」を作成すると、他の「待機中のコード」を実行できます。それはまだシングルスレッドですが、それは「線を切る」ようなものです

これがサンプルです

于 2012-05-06T06:59:14.513 に答える
1

この目的のために無料でオープンソースのConcurrent.ThreadJavaScriptライブラリを使用することで、これを行うのは非常に簡単です。SetIntervalまたはSetTimeoutは必要ありません。

ここからダウンロードできます:http ://sourceforge.net/apps/mediawiki/jsthread/index.php?title = Main_Page

ライブラリの使用法を説明するチュートリアルはここにあります:http://www.infoq.com/articles/js_multithread

于 2014-02-19T16:38:17.487 に答える