gpt4 book ai didi

javascript - 无法从 Angular 8 服务获取数据

转载 作者:行者123 更新时间:2023-11-28 03:04:22 25 4
gpt4 key购买 nike

组件中的方法 -

        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)
)
);

}

关于javascript - 无法从 Angular 8 服务获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60733188/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com