Gar*_*ett 10 javascript prototype parse-platform
我需要修复saveParse.Object库函数中的错误.但是,当我尝试save在我的覆盖原型中调用原始函数时,它会递归循环,直到堆栈溢出!
Parse.Object.prototype.save = function (arg1, arg2, arg3) {
fixIncludedParseObjects(this);
Parse.Object.prototype.save.call(this, arg1, arg2, arg3); // endless loop
};
Run Code Online (Sandbox Code Playgroud)
如何更改无限循环线以调用解析所产生的原始函数?
谢谢!
xda*_*azz 22
试试这个:
(function(save) {
Parse.Object.prototype.save = function (arg1, arg2, arg3) {
fixIncludedParseObjects(this);
save.call(this, arg1, arg2, arg3);
};
}(Parse.Object.prototype.save));
Run Code Online (Sandbox Code Playgroud)
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);
Run Code Online (Sandbox Code Playgroud)
类似于接受的答案,但可能更容易理解
var originalSaveFn = Parse.Object.prototype.save;
Parse.Object.prototype.save = function(arg1, arg2, arg3) {
fixIncludedParseObjects(this);
originalSaveFn.call(this, arg1, arg2, arg3);
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8870 次 |
| 最近记录: |