prototype.jsのAjax.Request()
prototype.jsのAjax.Request()でonLoadingで渡した関数より先にonCompleteで渡した関数が先に呼ばれてしまう”という現象があったので調べてみたら以下の記事を発見。prototype.jsのAjax.Request()について Flicker’s Style++
prototype.jsのソースを見ると1037行目に if (this.options.asynchronous) setTimeout(function() { this.respondToReadyState(1) }.bind(this),10);という記述がある。なぜか10ミリ秒遅らせてからonLoading()を実行するようにsetTimeout()をしている。。。つまり10ミリ秒以内にレスポンスがあった場合はcompleteFunc()が先に実行されてしまうのです。
ということらしいです。prototype.jsをのんびり勉強中ですが、なかなか楽しいです。
