在 Angular2 中加载 "configuration"
Loading a "configuration" in Angular2
我正在将现有应用程序转换为 Angular 2,客户端代码从服务器上的 API 获取其配置(诸如遥测设置和指向其他 APIs)。我有一些服务依赖 API 返回的 URL 来构建数据请求。如何获取该服务的 URL?
我最初的计划是创建一个新的 "configuration" 服务来处理获取数据。但是(我相信)每当你想访问配置 属性 时,你都必须 "subscribe" 才能得到值(至少,这就是我对其他服务所做的) .我还必须弄清楚如何链接响应,因此一旦返回配置服务的数据,就会触发实际服务请求的数据。
为了解决这个问题,我可以在 App 的构造函数中调用配置服务(这样它会加载应用程序启动时的数据)并将数据转储到单例中。但是我需要确保依赖于配置数据的东西在加载之前不会访问属性。
对我应该采取的方法有什么建议吗?
我采用了几种不同的方法。
可能最简单的方法是将配置值注入页面服务器端,这样您就可以开始了解它们,而不必担心调用外部 API。
如果这对您不起作用,那么您可以按照您的建议将属性转储到单例中。但是您需要将全局 Promise
放入该单例中(如下面的 ready
字段),您会在检索到值后立即解析它。然后在使用任何这些值之前,将您的调用与该全局配置链接起来,例如,如下所示:
config.ready.done(function() {
// Use config properties
});
我正在将现有应用程序转换为 Angular 2,客户端代码从服务器上的 API 获取其配置(诸如遥测设置和指向其他 APIs)。我有一些服务依赖 API 返回的 URL 来构建数据请求。如何获取该服务的 URL?
我最初的计划是创建一个新的 "configuration" 服务来处理获取数据。但是(我相信)每当你想访问配置 属性 时,你都必须 "subscribe" 才能得到值(至少,这就是我对其他服务所做的) .我还必须弄清楚如何链接响应,因此一旦返回配置服务的数据,就会触发实际服务请求的数据。
为了解决这个问题,我可以在 App 的构造函数中调用配置服务(这样它会加载应用程序启动时的数据)并将数据转储到单例中。但是我需要确保依赖于配置数据的东西在加载之前不会访问属性。
对我应该采取的方法有什么建议吗?
我采用了几种不同的方法。
可能最简单的方法是将配置值注入页面服务器端,这样您就可以开始了解它们,而不必担心调用外部 API。
如果这对您不起作用,那么您可以按照您的建议将属性转储到单例中。但是您需要将全局 Promise
放入该单例中(如下面的 ready
字段),您会在检索到值后立即解析它。然后在使用任何这些值之前,将您的调用与该全局配置链接起来,例如,如下所示:
config.ready.done(function() {
// Use config properties
});