Javascript 未捕获(承诺中):TypeError:无法读取属性';用户主题';未定义类型的错误:无法读取属性';用户主题';未定义的

Javascript 未捕获(承诺中):TypeError:无法读取属性';用户主题';未定义类型的错误:无法读取属性';用户主题';未定义的,javascript,angular,promise,rxjs,Javascript,Angular,Promise,Rxjs,我想打电话 登录(用户名、密码){ 返回Parse.User.logIn(用户名、密码) .then(功能(用户){ //将用户详细信息和jwt令牌存储在本地存储中,以便在页面刷新之间保持用户登录 setItem('user',JSON.stringify(user)); console.log(用户); this.userSubject.next(用户); 返回用户; }); } 像这样 登录(用户名、密码){ 返回此.http.post(`${environment.apiUrl}/use

我想打电话

登录(用户名、密码){
返回Parse.User.logIn(用户名、密码)
.then(功能(用户){
//将用户详细信息和jwt令牌存储在本地存储中,以便在页面刷新之间保持用户登录
setItem('user',JSON.stringify(user));
console.log(用户);
this.userSubject.next(用户);
返回用户;
});
}
像这样

登录(用户名、密码){
返回此.http.post(`${environment.apiUrl}/users/authenticate`,{username,password})
.pipe(映射(用户=>{
//将用户详细信息和jwt令牌存储在本地存储中,以便在页面刷新之间保持用户登录
setItem('user',JSON.stringify(user));
console.log(用户);
this.userSubject.next(用户);
返回用户;
}));
}
但这会导致错误

Uncaught (in promise): TypeError: Cannot read property 'userSubject' of undefined
TypeError: Cannot read property 'userSubject' of undefined

问题是您使用的是普通函数而不是箭头函数。 正常函数有自己的
指针

只需使用箭头函数即可

登录(用户名、密码){
返回Parse.User.logIn(用户名、密码)

。然后((user)=>{/问题是您使用的是普通函数而不是箭头函数。 正常函数有自己的
指针

只需使用箭头函数即可

登录(用户名、密码){
返回Parse.User.logIn(用户名、密码)

.然后((用户)=>{//非常感谢撒旦兄弟非常感谢撒旦兄弟