首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法从Angular 8服务获取数据

无法从Angular 8服务获取数据
EN

Stack Overflow用户
提问于 2020-03-18 11:36:04
回答 2查看 37关注 0票数 1

组件中的方法

代码语言:javascript
复制
        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'));
    }

服务-

代码语言:javascript
复制
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方法中获得控制台中的记录数据,但无法在我订阅它的组件中使用它。甚至在组件中记录成功消息。

EN

回答 2

Stack Overflow用户

发布于 2020-03-18 12:23:36

这会不会是返回未定义的异步性质?

更改为:

代码语言:javascript
复制
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)
  )
);

}

票数 0
EN

Stack Overflow用户

发布于 2020-03-18 13:01:10

代码语言:javascript
复制
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)
  )
);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60733188

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档