使用forge.prefs始终返回undefined

时间:2014-01-15 17:17:47

标签: trigger.io

我正在尝试使用forge.prefs来存储变量,但似乎没有任何保存。

我使用以下内容:

var all = forge.prefs.keys(function(keysArray){ return keysArray},
                           function(content){return content});

forge.logging.log(all);

但这始终会返回undefined 我也有同样的设置问题,似乎没有任何工作。

var set = forge.prefs.set(key,value,function(){},function(content){return content;});
forge.logging.log(set);

再次返回undefined并且没有错误或其他任何内容。

我做错了吗?

使用docs found here

更新

我不会做以下事情:

var get = forge.prefs.get(key, 
                    function(value){return value;}, 
                    function(error){forge.logging.log(error);
});

if(get){
// do something here
}else{
// do something here
}

2 个答案:

答案 0 :(得分:0)

看起来你没有在forge.pref.set成功函数中返回任何内容。您的退货内容;在错误函数中,如果它没有抛出错误,你将不会返回任何内容。

试试这个:

var set = forge.prefs.set(key,value,function(){ return value; },function(content){return content;});

forge.logging.log(组);

答案 1 :(得分:0)

这些方法是异步的,这意味着可以在回调成功和返回错误函数之前执行后续代码。依赖于此结果的所有后续代码应在回调中运行:

forge.prefs.keys(function(keysArray){ // success
  forge.logging.log(keysArray);
  // subsequent code relying on a positive outcome here ...
},
function(error){ // error
  forge.logging.log('Something bad happened: ' + error);
});

forge.prefs.set(key, value, function(){ // success
  forge.logging.log(key + ' was properly set);
  // subsequent code relying on a positive outcome here ...
},
function(error){ // error
  forge.logging.log('Something bad happened: ' + error);
});

更新:使用它来实现问题的更新部分:

var get;
forge.prefs.get(key, function(value){ // success
  get = value;
  forge.logging.log('Found value: ' + get);
  // subsequent code here ...
},
function(error){ // error
  forge.logging.log('Something bad happened: ' + error);
});