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をのんびり勉強中ですが、なかなか楽しいです。

rss