めも帖

「めも帖」代わりにダラダラと書いていったり、めもしたりしているだけです。

JSONデータの更新を確認してから処理をしたい

考えてみたら当たり前だったけれど、一応メモをしておきます。
JSONデータを何度か取得していて、あれ?と途中で思いました。データの取得は出来ているのですが、一つ前の結果を取得している、もしくは表示しているようでした。
理由は、

  • JSONでデータを取得してから描画していた
  • JSONでデータを取得している最中に描画してしまう

です。

例1

  • ちなみに、jsonupdate()ではprototype.jsを利用してデータの取得を行っています
  • テストはFirefox2.0(Win XP)で行っています
jsonupdate();    //jsonでのデータ取得
display();    //描画

例1の方法だと、データを取得する前に描画が始まります。jsonupdate()の処理に時間がかかるから、発生するのでは?と思って

例2

function loop1(){body要素に1万個の要素追加をする}
function loop2(){loop1()で最後に追加した要素を取得する}

function test1(){
loop1();
loop2();
}

としてtest1()を実行してみました。で、きちんと取得できるんですね。なんで?

JSONでデータ取得成功時に、指定したファンクションを実行してみた

jsonupdate(display);

これは成功!通信したりするのが問題なのか?なんだろう?解決方法は見つけられたけれと、原因が本当に推測通りなのかわからないまま...。まだまだ勉強が足りないですね。