【问题标题】:error TS2554: Expected 1 arguments, but got 0错误 TS2554:预期 1 个参数,但得到 0
【发布时间】:2020-06-18 13:03:10
【问题描述】:

如何解决这个问题,谁能帮帮我。

使用 Angular 5

我的角度方法:

list.component.ts 文件

 ngOnInit() {
       this.getUserdata(1);
      }

      getUserdata(event){
        this.userService.getUsers(event).then( users => {
                this.users = users;
      },
          (error)=>{
            return false;
          }
      );
      }

user.service.ts 文件

 getUsers(page:Number):Promise<User[]>{
     let currentUser = JSON.parse(localStorage.getItem('currentUser'));
    let headers = new Headers({ 'Authorization': `Bearer ${currentUser.token}` });

    let options = new RequestOptions({ headers: headers });

    return this.http.get(`${environment.apiEndPoint}/api/users/${page}`, options)
     .toPromise()
     .then(res=>res.json())
     //.catch(this.errorservice.handleError);
     .catch((error) => {
        //return Promise.reject(error);
       return  this.router.navigate(['/login']);
      })
}

当我发送参数然后显示错误我该如何解决它。

错误 TS2554:预期有 1 个参数,但得到了 0。

【问题讨论】:

  • 从您的服务中显示您的 getUsers 方法
  • 请看上面的show service.ts文件

标签: angular


【解决方案1】:

getUsers 方法返回一个 Promise,因此在您的 then 回调中您不能传递第二个参数来进行错误处理。

getUserdata(event){
      this.userService.getUsers(event).then( users => {
              this.users = users;
    })
}

如果你想在那里处理错误,在你的服务的 catch 回调中抛出一个错误并在 getUserData 中捕获它

getUserdata(event){
      this.userService.getUsers(event).then( users => {
              this.users = users;
    }).catch(err=>console.log(err));
   }

【讨论】:

    猜你喜欢
    • 2021-07-29
    • 2021-08-22
    • 1970-01-01
    • 1970-01-01
    • 2020-05-19
    • 2023-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多