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