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)的主要内容,如果未能解决你的问题,请参考以下文章

Angular 中的 html2canvas - 无法调用类型缺少调用签名的表达式

预期 = 1,接收 = 0 - 为啥我的函数没有在 Angular 测试中调用?

为啥我使用来自 Angular 服务的自签名证书调用 HTTPS API 时会出现此 ERR_CERT_AUTHORITY_INVALID 错误?

Angular:为组件字段提供对服务功能的引用并从模板调用它无法按预期工作

条带错误:未找到与有效负载的预期签名匹配的签名

意外回复签名:得到“oasv”,预期“(oasv)”