如何解决这个问题任何人都可以帮助我。
使用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。
答案 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));
}