我想处理有效的动作并根据最新状态执行一些逻辑。有一些示例,但是我在正确接收MergeMap中的数据时遇到问题。
@ ngrx /商店8.1。
@Injectable()
export class SitesEffects {
constructor(
private sitesService: SitesService,private actions$: actions,private store: Store<AppState>) {
}
getDataForSites$: Observable<action> = createEffect(() =>
this.actions$.pipe(
ofType(LoadSites),map(action => action.siteIds),//siteIds is string[]
withLatestFrom(siteIds => this.store.select(selectSites,new SiteIds(siteIds))),// items return from selector are Site[]
mergeMap(([a,b]) => {
// do some logic based on current state
console.log(a);
console.log(b);
return of(SitesLoaded(new Sites([])));
})
)
);
}
我希望'a'是第一个地图函数(字符串数组)的siteIds b是站点数组(withLatestFrom中的Site []) 但 b在Visual Studio代码中有错误
类型“可观察”必须具有“ Symbol.iterator”方法 返回iterator.ts(2488)
并且在控制台(开发工具)中存在错误TypeError:undefined不是一个函数(对于mergeMap(([[a,b])=>
应如何对齐所有这些功能,以实现我希望在mergeMap运算符中收到的功能?