3

AJAXレイテンシーをシミュレートするために、プロトタイプAjax.Requestをラップしたいと思います。つまり、クロージャーとPrototypeのdelay()機能を使用していますが、コードに問題があるようです。

/*
 * Purpose: simulate AJAX latency when developing on localhost
 * What's wrong?
 */
Ajax.Request = (function(original) {
  return function(url, options) {
          return original.delay(1, url, options);
  };
}) (Ajax.Request);
4

1 に答える 1

1

これは私にとってはうまくいきました(プロトタイプ1.6.1を使用):

Ajax.Request.prototype._initialize = Ajax.Request.prototype.initialize;

Ajax.Request.prototype.initialize = function ($super, url, options) {
  return this._initialize.bind(this).delay(2, $super, url, options);
};

のメソッドシグネチャAjax.Request.prototype.initializeは、古いバージョンのプロトタイプ(つまり、$ superパラメーターなし)では異なると思います。

ただし、これにより、すべてのAjaxリクエストに対して更新されます。

于 2010-08-04T14:36:49.823 に答える