後に ajax 呼び出しを使用した for ループ、遅い for ループ?
for (var x = this.from; x < this.emax; x++) { this.list.append('<li></li>'); }
jQuery.ajax({
.....
どういうわけか、for ループと同時に ajax リクエストを開始します。そのため、クロムは一瞬窒息します。私はそれを望んでいません、それは修正できますか?
後に ajax 呼び出しを使用した for ループ、遅い for ループ?
for (var x = this.from; x < this.emax; x++) { this.list.append('<li></li>'); }
jQuery.ajax({
.....
どういうわけか、for ループと同時に ajax リクエストを開始します。そのため、クロムは一瞬窒息します。私はそれを望んでいません、それは修正できますか?
私が見たところ、ブラウザは通常、スクリプトが現在のイベントの処理を完了するまでページを更新しません。つまり、新しい LI が実際にレンダリングされる前に Ajax リクエストが開始され、両方がほぼ同時に発生するように見えます。
そのための 1 つの回避策は、最小限のタイムアウト値で.ajax
呼び出しを 内に置くことです。setTimeout
0 ミリ秒のタイムアウトで十分かもしれません。そうでない場合は、1になります。ポイントは、呼び出しをキューに入れて、DOM の変更が発生する前に適用されるようにすることです。
(そうは言っても、そもそも空の LI を大量に追加するのはなぜですか? それらが Ajax 要求が取得するもののプレースホルダーである場合は、成功のコールバックにそれらを追加させることを検討してください。ちょっと考えてみてください。)
これはうまくいくかもしれません:
for (var x = this.from; x < this.emax; x++) { this.list.append('<li>
</li>').slow(200,function() {
jQuery.ajax({
.........
}); }