[英]Not able to fetch data from Angular 8 service
组件中的方法 -
login(loginForm: NgForm) {
debugger;
let verifyUser;
this.aService.verifyUser(loginForm.value.userName).subscribe(
(data) => {verifyUser = data; },
error => {console.warn(error); },
() => {console.log("Success");}
);
if (verifyUser !== 1) {
this.userNotFound = true;
} else {
sessionStorage.setItem('loginedUser', loginForm.value.userName);
console.log(sessionStorage.getItem('loginedUser'));
}
服务 -
public verifyUser(user: string) {
debugger
let returnValue;
const url = 'https://localhost:44308/api/auth/verifyUserName?username=' + user;
returnValue = this.http.get(url).pipe(
tap(
data => console.log('data' + data),
error => console.error(error)
)
);
return returnValue;
}
我正在使用服务中的 tap 方法在控制台中获取记录的数据,但无法在我订阅它的组件中使用它。 即使它在组件中记录成功消息。
这可能是返回未定义的异步性质吗?
改成:
public verifyUser(user: string) {
debugger
const url = 'https://localhost:44308/api/auth/verifyUserName?username=' + user;
return this.http.get(url).pipe(
tap(
data => console.log('data' + data),
error => console.error(error)
)
);
}
public verifyUser(user: string) {
debugger
const url = 'https://localhost:44308/api/auth/verifyUserName?username=' + user;
return this.http.get<any>(url).pipe(
tap(
data => console.log('data' + data),
error => console.error(error)
)
);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.