功能分类: 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 回调函数,是因为它需要访问远程数据存储,并不会立刻获得返回结果。通过使用异步回调函数,主代码无需等待。请求结果返回后在这个回调函数里异步处理。setKeyValue()
调用的函数。setKeyValue()
,放在循环里执行。因为循环里不会等异步调用结束才继续执行。