在 Angular2 应用程序中将对象实例数据存储在前端是否是一种可接受的做法?



在开发带有节点的 Angular2 应用程序时.js后端是否最佳实践是仅存储对象的 id,并在每次需要对象的特定实例时进行 API 调用?

例如,如果我有一个这样的用户:

{public email: string,
public password: string,
public roles?: Role[],
public firstName?: string,
public lastName?: string,
public _id?: string}

在我的前端,我已经对可以选择和编辑的用户列表进行了 API 调用。进行 API 调用以让特定用户进行编辑是否是最佳做法? 或者我应该进行 API 调用以获取用户列表并将其存储在前端的数组中,如下所示:

[{user}, {user}]

然后在完成编辑后提交补丁请求?

我担心的是,服务器上的数据状态可能会在对列表进行 API 调用和编辑用户之间发生变化。但是,存储项目并从内存中检索它可能比进行 API 调用更快。

我担心服务器上的数据状态可能会在 当对列表进行 API 调用以及编辑用户时。 但是,存储项目并从中检索可能会更快 内存而不是进行 API 调用。

在这种情况下,进行将返回[user1, user2, ..]列表的调用是一个坏主意,因为数据确实会很快变旧。

好的建议是加载所需的尽可能多的数据以正确显示页面。如果您需要显示数据列表,请尝试获取一些详细信息(可能是变量较小的详细信息(,一旦从此列表中选择了记录,您就可以进行 api 调用以完全加载与特定记录相关的数据,并可能填充详细视图。

如果您担心列表的 API 调用和将要编辑的用户之间的数据可能会发生变化,那么最好为该用户发出另一个 get 请求。

如果您不进行新的 get 调用,则数据确实可以在列表 get 调用和编辑之间更改,并且用户将编辑旧数据。

相关内容

最新更新