Angular - 预期的调用签名:'changePassword' 有一个 typedeftslint(typedef)

Posted

技术标签:

【中文标题】Angular - 预期的调用签名:\'changePassword\' 有一个 typedeftslint(typedef)【英文标题】:Angular - expected call-signature: 'changePassword' to have a typedeftslint(typedef)Angular - 预期的调用签名:'changePassword' 有一个 typedeftslint(typedef) 【发布时间】:2021-08-18 22:53:40 【问题描述】:

在我的 Angular-11 应用程序中,我有这三 (3) 个函数并出现以下错误:

changePassword(data: any) 
  const submitData = 
    token: data.token,
    ['old_password']: data.oldPassword,
    ['new_password']: data.newPassword,
    ['new_password_confirmation']: data.newPasswordConfirmation,
  ;
  return this.http.post('api/password/reset', submitData);

预期的呼叫签名:'changePassword' 有一个 typedeftslint(typedef)

contactAdmin(_data:  email: string ) 
  return of(
    message: 'Yes'
  );

预期的呼叫签名:'contactAdmin' 有一个 typedeftslint(typedef)

resetPassword(email:  email: string ) 
  return this.http.post('api/password/email', email);

预期的呼叫签名:“resetPassword”有一个 typedeftslint(typedef)

如何解决这些错误?

谢谢

【问题讨论】:

想必你正在使用 TSLint?参见例如***.com/q/25459136/3001761 【参考方案1】:

您需要指明方法将返回什么。

changePassword(data: any): Observable<any>  // change any to what this post request will return
  const submitData = 
    token: data.token,
    ['old_password']: data.oldPassword,
    ['new_password']: data.newPassword,
    ['new_password_confirmation']: data.newPasswordConfirmation,
  ;
  return this.http.post('api/password/reset', submitData);


contactAdmin(_data:  email: string ): Observable< message: string> 
  return of(
    message: 'Yes'
  );


resetPassword(email:  email: string ): Observable<any>  // again with the any
  return this.http.post('api/password/email', email);

【讨论】:

以上是关于Angular - 预期的调用签名:'changePassword' 有一个 typedeftslint(typedef)的主要内容,如果未能解决你的问题,请参考以下文章