【发布时间】:2020-12-07 07:34:58
【问题描述】:
假设我们有一个状态动作来处理新列表的创建:
@Action(CreateList)
async createList(
ctx: StateContext<StateModel>,
{ payload }: CreateList
) {
// Create a new list
const newList = await this._listServiceProxy
.create(payload.listId, payload.input)
.toPromise();
ctx.setState(
patch<StateModel>({
lists: append([newList])
})
);
}
假设我们需要创建列表的新 ID。
目前,action dispatch 只返回一个在 action 完成后接收新状态的 observable。在这种情况下获取最后一个列表是可行的,但根据使用情况找到解决方法并不总是那么容易。
如何发回创建的列表 ID?
【问题讨论】:
-
在函数中返回你需要的值。可以订阅 dispatch action 获取返回数据
-
@AjanthaBandara 我试过这样做,但是调度本身的订阅总是返回新状态,而对
ofActionSuccessful动作生命周期的订阅总是返回动作有效负载