gpt4 book ai didi

ngxs - 在哪里进行 API 调用以及如何构建操作

转载 作者:行者123 更新时间:2023-12-01 22:45:37 30 4
gpt4 key购买 nike

我最近开始从 ngrx 迁移到 ngxs,并且有一个设计问题:我应该在哪里进行一些调用。

在 NGRX 中,我会为每次与 api 的交互创建 3 个操作。像这样的东西:

GetEntities - 指示已进行初始 API 调用GetEntitiesSuccess - 表示数据成功返回GetEntitiesFail - 指示数据返回不成功

我将创建一个效果来监视实际调用 API 的 GetEntities 操作,并通过使用结果负载调用成功/失败操作来处理响应。

在 NGXS 中,当操作发生时,我是否从存储本身进行 api 调用,或者是否存在其他一些 NGXS 对象,我应该使用它来处理这些 API 调用,然后像在 ngrx 中一样处理操作(通过为每个调用创建多个操作)?

最佳答案

我见过的大多数示例以及我使用它的方式都是从状态中的操作处理程序进行 API 调用,然后当 API 返回时立即修补状态。

然后,在补丁调用之后,您可以根据需要调度一个操作来指示成功/失败。像这样的事情:

@Action(GetSomeData)
loadData({ patchState, dispatch}: StateContext<MyDataModel>, {payload}: GetSomeData) {

return this.myDataService.get(payload.id)
.pipe(
tap((data) => {
patchState({ data: data});
// optionally dispatch here
dispatch(new GetDataSuccess());
})
);
}

此问答可能也有用 Ngxs - Actions/state to load data from backend

关于ngxs - 在哪里进行 API 调用以及如何构建操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54557628/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com