Angular4 Promise Callback未被调用

时间:2017-10-06 17:20:37

标签: angular mean-stack

我正在研究一个MEAN堆栈项目,并且我对Angular 4有一个奇怪的问题。这个方法 WAS 过去工作,但现在不行。

我正在尝试从前端删除用户。该页面向userService.delete()发送调用,该函数向成功删除用户的后端发送请求。然后它返回200与"成功销毁"作为回应。我可以在浏览器中看到响应,但是永远不会调用promise回调来处理响应。例如:

致电服务:

this.userService.deleteUser(localStorage.getItem('email'),localStorage.getItem('auth_token'), this.userId)
      .then(response => {
        console.log('got response') // <== never prints
        if (response == "successfully destroyed") {
          window.location.href = `/admin/users`;
        } else {
          alert("could not delete successfully")
        }
      })

UserService功能:

deleteUser(email:string, auth_token:string, id:string): Promise<any> {
const body = {email: email, auth_token: auth_token, id:id};
return this.http.post('/api/users/delete', body)
    .toPromise() 
}

永远不会调用.then,页面什么都不做。

提前感谢您的任何帮助:)

1 个答案:

答案 0 :(得分:0)

自己找到答案。

由于某种原因,如果你试图单独传递一个字符串而不是一个对象/字典,那么就不会调用promise回调。 我不得不让我的服务器返回:

{
    status: "successfully destroyed"
}

而不只是"successfully destroyed"

希望它可以帮助别人!