setKeyValue(key, value, callback) 存储键值对

功能分类: Data Applab JavaScript 少儿编程

存储 key/value 到 Applab 键值数据存储区,并指定 callback 回调函数供存储完成后异步调用。

Applab 里的远程 key/value 键值对 数据存储为 APP 应用增加了持久数据存储的功能,可以让你编写的程序成为一个真正的 APP 应用 - 像你平时使用的 APP 一样。我们使用的很多应用程序都是通过 “云端” 数据驱动的。通过使用这里的方法,你也可以开发一个 “云端” 数据驱动的应用。如果不使用远程数据存储,比如在 APP 里使用类似 var highscore = 10; 的变量来存储得分;但这时每次 APP 重新加载时,highscore 都会被重新创建并赋值为 10 。而如果使用云端数据存储,每次 APP 被不同的人不同的设备重新加载时,APP 都可以通过使用方法 getKeyValue() 以及 setKeyValue() 从云端获取数据或重新更新高云端。在使用 key/value 键值对存储数据时,key 键 的使用类似变量名(如:highscore),而 value 值 则类似返回变量值(如:10)。使用 setKeyValue() 方法时,当键值成功保存时,方法指定的回调函数会立刻对返回值异步进行处理。你也可以使用 getKeyValue() 方法来获取键值对中指定键的值。

在一个 APP 应用里只能访问 APP 自己创建的键值对或表数据。要查看 APP 里的键值对或表数据,在 Applab 页面点击并打开 数据 页面,在页面里会显示 APP 相关的所有键值对或表数据信息,点击键值对或数据表即可查看或修改表数据。

示例代码



// 存储键值对,并输出控制台日志
setKeyValue('highScore', 100, function(){
  console.log("I execute asynchronously when key/value is stored. Click View Data to see the data.");
});
console.log("I execute immediately after");


// 存储键值对,读取键值对,并输出控制台日志
setKeyValue("highScore", 100 , function () {
  console.log("highScore stored");
  getKeyValue("highScore", function (value) {
    console.log("high score is: " + value);
  });
});

示例代码:保存更大值 生成随机数并与当前键值对比较,如果更大则更新到键值对,并在控制台输出日志。


// 生成随机数并与当前键值对比较,如果更大则更新到键值对,并在控制台输出日志。
var random = randomNumber(1, 100);
getKeyValue("biggestNum", function (value) {
  console.log("random: " + random + " biggestNumber: " + value);
  if ((value === undefined) || (random > value)) {
    setKeyValue("biggestNum", random, function () {
      console.log(random + " is bigger than " + value + ". Updated biggestNumber");
    });
  }
});

语法规则


setKeyValue(key, value, function(){
    // 在这里编写回调函数代码
  });

参数说明

名称 类型 必需 参数描述
key string Yes 存储记录键的名称
value string, number, array, or object Yes 存储记录的值。
callback function No setKeyValue 调用完成后被异步调用执行的函数。

返回值

没有返回值。但当 setKeyValue() 结束后,会异步调用执行指定的 callback 函数。

提示说明

  • setKeyValue() 有一个异步 callback 回调函数,是因为它需要访问远程数据存储,并不会立刻获得返回结果。通过使用异步回调函数,主代码无需等待。请求结果返回后在这个回调函数里异步处理。
  • callback 回调函数可以是一个内联函数,也可以是在应用程序中单独定义并被 setKeyValue() 调用的函数。
  • 通常不要将包含异步调用的函数如:setKeyValue() ,放在循环里执行。因为循环里不会等异步调用结束才继续执行。
  • 相关方法:getKeyValue()

查看更多少儿编程教程、JavaScript 介绍

返回文档首页