在我的Angular应用中,如果存储中已经有数据,我想停止使用具有ProductService
的{{1}}来调用服务器。
这是我目前拥有的。我从商店收到信息流,并检查商店是否有商品。如果商店已经有产品,则返回该数据。否则,继续执行流程,获取http
,使用categoryId
调用服务器并返回数据。
我可以正确执行效果吗?
ProductService
答案 0 :(得分:0)
您可以使用条件效果
> queueing_system %>%
+ clone(number_of_clones(get_attribute(sim,"d1"),get_attribute(sim,"d2")),routing_logic(get_attribute(sim,"d1"),get_attribute(sim,"d2"),"e1","e2"))%>%
+ synchronize(FALSE)%>%
+ release_selected()
Error: there is no arrival running
答案 1 :(得分:0)
我按照Flignats的建议更新了效果,如下所示:
loadProducts$ = createEffect(
() => ({ debounce = 300, scheduler = asyncScheduler } = {}) =>
this.actions$.pipe(
ofType(ProductActions.LoadProducts),
debounceTime(debounce, scheduler),
withLatestFrom(
this.store.select(ProductSelectors.selectAllProducts),
this.rootState.select(fromRoots.getcategory),
),
switchMap(([action, existingProducts, category]) => {
if (existingProducts.length > 0) {
return of(ProductActions.LoadProductsSuccess({ Products: existingProducts }));
}
return this.ProductService.getProducts(category.categoryId).pipe(
map(newProducts => (ProductActions.LoadProductsSuccess({ Products: newProducts }))),
catchError(err => of(ProductActions.LoadProductsFailed(err)))
)
})));