10

saveParse.Object ライブラリの関数のバグを修正する必要があります。しかし、save上書きされたプロトタイプで元の関数を呼び出そうとすると、スタックがオーバーフローするまで再帰的にループします!

Parse.Object.prototype.save = function (arg1, arg2, arg3) {
    fixIncludedParseObjects(this);

    Parse.Object.prototype.save.call(this, arg1, arg2, arg3); // endless loop
};

parse で作成した元の関数を呼び出すように無限ループ行を変更するにはどうすればよいですか?

ありがとう!

4

3 に答える 3

24

これを試して:

(function(save) {
  Parse.Object.prototype.save = function (arg1, arg2, arg3) {
    fixIncludedParseObjects(this);
    save.call(this, arg1, arg2, arg3);
  };
}(Parse.Object.prototype.save));
于 2012-07-08T07:35:28.937 に答える
7
Parse.Object.prototype.save = function (save) {
    return function () {
        fixIncludedParseObjects(this);
        //Remember to return and .apply arguments when proxying
        return save.apply(this, arguments);
    };
}(Parse.Object.prototype.save);
于 2012-07-08T07:48:44.170 に答える