12.配置Config

配置

Parse.Config是一种通过在Parse上存储单个Config对象来远程配置应用程序的好方法。它使您可添加功能开关或简单的“每日消息”等功能。要使用Parse.Config,您需要在Parse Config Dashboard上向应用程序添加一些键/值对(参数)。

之后,您可以在客户端获取Parse.Config,例如:

Parse.Config.get().then(function(config) {
  var winningNumber = config.get("winningNumber");
  var message = "Yay! The number is " + winningNumber + "!";
  console.log(message);
}, function(error) {
  // Something went wrong (e.g. request timed out)
});

1.检索配置

即使在网络连接不畅的情况下,ParseConfig仍然保持尽可能的强大可靠。默认情况下会使用缓存来确保最新成功获取的配置始终可用。在下面的示例中,我们使用get从服务器检索最新版本的配置,如果提取失败,我们可以通过current直接回滚到我们之前成功获取的版本。

Parse.Config.get().then(function(config) {
  console.log("Yay! Config was fetched from the server.");

  var welcomeMessage = config.get("welcomeMessage");
  console.log("Welcome Message = " + welcomeMessage);
}, function(error) {
  console.log("Failed to fetch. Using Cached Config.");

  var config = Parse.Config.current();
  var welcomeMessage = config.get("welcomeMessage");
  if (welcomeMessage === undefined) {
    welcomeMessage = "Welcome!";
  }
  console.log("Welcome Message = " + welcomeMessage);
});

2.当前配置

你得到的每一个Parse.Config实例始终保持不变。当您以后从网络中检索到新的Parse.Config实例时,它将不会修改任何现有的实例,而是创建一个新的实例,并通过Parse.Config.current()使其可用。因此,您可以安全地绕过任何current()对象,并放心地假定它不会自动更改。

每当您想要使用配置时都从服务器检索可能很麻烦。您可以直接使用缓存的current()对象和仅定时获取配置来避免这种情况。

// Fetches the config at most once every 12 hours per app runtime
var refreshConfig = function() {
  var lastFetchedDate;
  var configRefreshInterval = 12 * 60 * 60 * 1000;
  return function() {
    var currentDate = new Date();
    if (lastFetchedDate === undefined ||
        currentDate.getTime() - lastFetchedDate.getTime() > configRefreshInterval) {
      Parse.Config.get();
      lastFetchedDate = currentDate;
    }
  };
}();

3.参数

通过Parse.Object,ParseConfig支持大多数数据类型:

  • string
  • number
  • Date
  • Parse.File
  • Parse.GeoPoint
  • JS Array
  • JS Object

我们目前在配置中最多允许100个参数,并且所有参数的总大小不超过128KB。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,951评论 19 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,766评论 18 399
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,368评论 11 349
  • 每到一座城市 你观察斑马线 计算车辆通行的速度 便可计算出 它的文明程度
    周延龙阅读 214评论 0 2
  • 一年后的我会是什么样的呢? 我想在未来的一年中:每天花30分钟读英语原文书,15分钟练字,1小时进行专业学习,...
    锦珞瑶阅读 217评论 1 0