所以我有一个端点,它并行返回许多实体的内容。
我有一个共享服务,它调用这个端点并将它们放入共享的$cacheFactory
中。
当GET /base_entity/<id>/all
路由首先命中时,GET /entity/<id>
应返回缓存的副本。
告诉GET /entity/<id>
服务在GET /base_entity/<id>/all
有机会完成之前不要执行HTTP获取的最佳实践是什么?
$broadcast
/$emit
的方法似乎很奇怪。我想我可以使用与cache.put('START /all for ID:' +, id)
和cache.put('FIN /all for ID:' +, id)
共享的$cacheFactory
,但不确定这是否是解决问题的奇怪方法。
最终创建了一个新的视图和控制器。控制器的constructor
调用GET /base_entity/<id>/all
并缓存它,然后执行沿着当前$stateParams
传递的$state.go
。同时,该视图显示了加载directive
的闪亮图形。
现在,当/entity/<id>
状态转换为时,服务首先检查ALL缓存;相应地更新其缓存;然后检查缓存并在$q
承诺中返回该缓存,或者以其他方式命中$http
。