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

时间:2018-03-10 08:00:26

标签: angular

如何解决这个问题任何人都可以帮助我。

使用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']);
      })
}

当我发送param然后显示错误我该怎么解决它。

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

1 个答案:

答案 0 :(得分:0)

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));
   }