承诺回拨之外的价值持久性

时间:2018-11-15 06:38:49

标签: javascript angular typescript promise es6-promise

我有一个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的值,特别是在捕获错误时,以便通知并取回该值时可以通知并获取该值以重新填充表单。

当前代码有效,但是我相信有一种更好/正确的方法可以实现相同的目标。请让我知道您想自己做些什么。

0 个答案:

没有答案