Angular 角度4-值不在订阅之外
我在角度服务中有以下代码:Angular 角度4-值不在订阅之外,angular,typescript,Angular,Typescript,我在角度服务中有以下代码: this.signInService.signIn(this.model).subscribe(user => {this.user = user,console.log(this.user.Username)}); console.log(this.user.Username); 我有两个console.log语句。subscribe函数中的函数打印正确的值。但是,第二个console.log打印未定义的内容 这是由于subscribe的Async
this.signInService.signIn(this.model).subscribe(user => {this.user = user,console.log(this.user.Username)});
console.log(this.user.Username);
我有两个
console.log
语句。subscribe
函数中的函数打印正确的值。但是,第二个console.log
打印未定义的内容 这是由于subscribe
的Async
系统造成的。因此,代码不会停止使用subscribe
方法来重新运行数据。当is有数据时,它会重新运行。您可能会注意到console在实际数据之前打印了未定义的
因为它是异步的。在收到任何响应之前,将调用第二个
控制台.log
。我知道了。我正在将数据存储到下面的localStorage
中。这是否意味着我可能正在存储未定义的数据?在第四点是的。当subscribe
方法返回值no.时,这通常类似于第二次延迟。因此,简单的做法是将store语句放在subscribe中,对吗?是的。如果您需要对该响应数据运行一个方法,那么还需要将该方法放入subscribe
方法中。除非它的HTML在收到数据时会自动更新。