我有三个组件,一个服务。 三个组件取决于公共数据,它是通过angular / http(或angular4中的httpClient模块)模块从远程服务器获取的。 公共数据,让我将其定义为 DATA ,是不可变的,并且很大,就像模型数据一样,因此服务只需要请求一次并存储为组件使用的成员数据。
但问题是,http get是异步的,我无法保证 DATA 的构造在角度服务的构造函数完成时结束,或者当 DATA 需要在任何组件 ngInit()中使用。
如何处理?如果使用延迟加载将http.get移动到每个组件的 ngInit()函数中,则会以随机顺序打开3个页面,我必须检查 DATA 是否为在所有3个组件中构建,我认为它是愚蠢的。