Javascript Djaty-为什么使用'Djaty.setUser()时受影响的用户计数不准确?
我正在我的一个项目上安装DjatyJavaScript SDK。它现在已正确安装,我正在尝试使用Javascript Djaty-为什么使用'Djaty.setUser()时受影响的用户计数不准确?,javascript,djaty,Javascript,Djaty,我正在我的一个项目上安装DjatyJavaScript SDK。它现在已正确安装,我正在尝试使用Djaty.setUser() 我想设置所有可能的用户信息,因此我在代码中的两个位置使用了Djaty.setUser()。设置用户ID的第一个位置和设置用户登录的第二个位置 第一名: Djaty.setUser({userId: user.userId}) 第二名: Djaty.setUser({logon: user.username}) 当我创建一个测试bug时,我希望bug只有一个受影响的用
Djaty.setUser()
我想设置所有可能的用户信息,因此我在代码中的两个位置使用了Djaty.setUser()
。设置用户ID的第一个位置和设置用户登录的第二个位置
第一名:
Djaty.setUser({userId: user.userId})
第二名:
Djaty.setUser({logon: user.username})
当我创建一个测试bug时,我希望bug只有一个受影响的用户,但实际上它现在有两个用户。我的代码有什么问题?首先,多次调用
Djaty.setUser
将每次覆盖上下文用户对象。例如,按照您提到的顺序调用它将导致一个只具有logon
属性的对象
关于您的问题,以下情况可能导致此问题:
if (isUserLogonAvailable) {
Djaty.setUser({logon: user.username});
} else {
Djaty.setUser({userId: user.userId});
}
app.notExistingMethod();
当isUserLogonAvailable
标志为true时,app.notExistingMethod()
错误发生时,上下文用户将为{userId:user.username,logon:user.username}
,因为如果userId
不存在,我们将退回到登录。类似地,当使用isUserLogonAvailable
标志再次执行代码时,将提交另一个错误事件,但上下文用户将是{userId:user.userId,logon:user.userId}
现在,出现的错误有两个不同的用户:
1-userId
:user.username
2-userId
:user.userId
这将导致您询问的两个受影响的用户。首先,多次调用Djaty.setUser
将每次覆盖上下文用户对象。例如,按照您提到的顺序调用它将导致一个只具有logon
属性的对象
关于您的问题,以下情况可能导致此问题:
if (isUserLogonAvailable) {
Djaty.setUser({logon: user.username});
} else {
Djaty.setUser({userId: user.userId});
}
app.notExistingMethod();
当isUserLogonAvailable
标志为true时,app.notExistingMethod()
错误发生时,上下文用户将为{userId:user.username,logon:user.username}
,因为如果userId
不存在,我们将退回到登录。类似地,当使用isUserLogonAvailable
标志再次执行代码时,将提交另一个错误事件,但上下文用户将是{userId:user.userId,logon:user.userId}
现在,出现的错误有两个不同的用户:
1-userId
:user.username
2-userId
:user.userId
这会导致您询问的两个受影响的用户。确切地说,就是这样。非常感谢。确实如此。非常感谢。