声明类型既不是"void"也不是"any"的函数必须返回值Angular [英] A function whose declared type is neither 'void' nor 'any' must return a value Angular

查看:75
本文介绍了声明类型既不是"void"也不是"any"的函数必须返回值Angular的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在使用可观察类之前可以正常工作时出现此错误

I am getting this error when using observable class was working fine before


  login(userId: string, userPassword: string): Observable<User> {          >>> I am getting error here
        this.http.post(this.Url,'/' + {userId} + '/' + {userPassword})
            .pipe(map(user => {
                // store user details and jwt token in local storage to keep user logged in between page refreshes
                localStorage.setItem('currentUser', JSON.stringify(user));
                this.currentUserSubject.next(user);
                return user;
            }));
    }

这是界面

 export interface User {
         success:string
         userId:string
         userPassword:string
         token?: string
    }

推荐答案

两个更改

  • 类型转换用户

  • Typecasted User

返回可观察值

login(userId: string, userPassword: string): Observable<User> {  
      return this.http.post(this.Url,'/' + {userId} + '/' + {userPassword})
          .pipe(map(user => {
              // store user details and jwt token in local storage to keep user logged in between page refreshes
              localStorage.setItem('currentUser', JSON.stringify(user));
              this.currentUserSubject.next(user);
              return (user as User);
          }));
  }

这篇关于声明类型既不是"void"也不是"any"的函数必须返回值Angular的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆