我有一个Provider提供的方法,它看起来与此类似:
updateUser(user: User): Promise<User> {
return this.http.put<any>('url',JSON.stringify(user))
.toPromise()
.then((result) => {
this.eventsService.broadcast('userEdit:success', user)
return Promise.resolve(true);
})
.catch((err) => {
let errorData = {
error: err,
data: user
};
this.eventsService.broadcast('userEdit:failed', errorData)
return Promise.reject(errorData);
});
}
这确实有效,我得到了user
的值。但是我相信user
的值会消失,这会导致错误吗?变量user
在函数updateUser
之后如何保留其值?
我想恢复user
的值,特别是在捕获错误时,以便通知并取回该值时可以通知并获取该值以重新填充表单。
当前代码有效,但是我相信有一种更好/正确的方法可以实现相同的目标。请让我知道您想自己做些什么。