我在window.error
事件上获取当前对象实例时遇到问题。
如果我把这个代码放在一个对象方法之外,我就不能得到obj
参数,如果我把它放在class
方法中,我就得不到正确的{{1 } when是另一个obj
的{{1}}。
示例:
instanceOf
如果我使用,例如:
class
在全球范围内,我无法获取//addTableEvents is a method
addTableEvents: function () {
var obj = this;
window.onerror = function (message, url, lineNumber, colNumber, error, obj) {
var errInfo = {
INSTANCE: obj.tableId,
DATE: window.Date(),
PATH: window.location.href,
STACKTRACE: error.stack,
ENV: window.navigator.userAgent,
};
console.log(errInfo);
obj.logError(errInfo);
return true;
};
参数,并且不用说我需要实现错误的实例。我知道解决方案是在调用,应用或绑定之间,但需要帮助。
答案 0 :(得分:0)
我认为在第一种情况下你不能“使用”'obj',因为它也是函数的一个参数而不仅仅是一个全局变量。
(还有一个缺失};但这可能是复制/粘贴拼写错误。) 试试这个:
//addTableEvents is a method
addTableEvents: function () {
var obj = this;
window.onerror = function (message, url, lineNumber, colNumber, error) {
var errInfo = {
INSTANCE: obj.tableId,
DATE: window.Date(),
PATH: window.location.href,
STACKTRACE: error.stack,
ENV: window.navigator.userAgent,
};
console.log(errInfo);
obj.logError(errInfo);
return true;
};
};