我的Angular应用程序中有以下代码:
if(employee.details == undefined)
{
this.store$.dispatch(new LoadEmployeeAction({ emp: action.id }));
}
this.empAction.emit(data)
如果我的调度(从web api执行get)返回后,如何阻止/停止我的emit函数运行,因为它更新了商店中数据的值?
答案 0 :(得分:-1)
我认为存储$ .dispatch()会返回Promise或Observable。所以这是可能的解决方案。
第一个解决方案:如果是承诺
if(employee.details == undefined)
{
this.store$.dispatch(new LoadEmployeeAction({ emp: action.id })).then(data => {
this.empAction.emit(data);
});
}
第二个解决方案:如果是Observable
if(employee.details == undefined)
{
this.store$.dispatch(new LoadEmployeeAction({ emp: action.id })).subscribe(data => {
this.empAction.emit(data);
});
}
这将强制您的代码等到this.store $ .dispatch()中的操作被执行。