Angular2 – ‘then’在’void’类型中不存在

前端之家收集整理的这篇文章主要介绍了Angular2 – ‘then’在’void’类型中不存在前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我尝试简单的应用程序,我点击删除按钮后删除用户.

当我尝试像这样运行服务器时,我在deleteUser()中得到错误
零件:

deleteUser(user: User,event: any) {
    event.stopPropagation();
    this.userService
      .deleteUser(user)
      .then(res => {
        this.httpUsers = this.httpUsers.filter(h => h !== user);
        if (this.selectedUser === user) { this.selectedUser = null; }
      })
      .catch(error => this.error = error);
  }

服务:

deleteUser(user: User) {
    console.log('Deleting user');
  }

错误信息:

app/users.component.ts(46,8): error TS2339: Property ‘then’ does not
exist on type ‘void’.

错误的第46行是上面的.then(res => {

谷歌搜索时发现this question所以我从deleteUser函数删除了void,但没有任何改变.

什么提示我做错了什么?

解决方法

你必须调用delete方法,所以它将返回promise,你可以使用.then(你必须这样做

deleteUser(user: User) {
   return this.http.delete(url+id,...).toPromise();
}

猜你在找的Angularjs相关文章