【问题标题】:return an undefined value with forge.prefs使用 forge.prefs 返回一个未定义的值
【发布时间】:2013-12-03 10:12:18
【问题描述】:

我尝试使用 PREFS 模块,但我不知道为什么它会返回一个未定义的值

function getId() {
    var id=0;

    forge.prefs.get("user_id", function(value){
        id=value;
        forge.logging.info("entry  id " +id);      
    });

    return id;  
};

OUTPUT : 当我调用这个方法时它返回 0 !!!以及带有“条目 id 37”的日志

不知道为什么调用这个方法后id的值没有变化。

【问题讨论】:

    标签: ios5 preferences trigger.io


    【解决方案1】:

    我从 Patrick Rudolph 那里找到了解决方案 forge.prefs.get() 可能是一个异步函数调用,这意味着它的回调执行有些延迟。在您的示例中 load_my_car() 在两个回调被触发之前执行,所以变量仍然是未定义的。

    您必须确保在调用 load_my_car() 之前触发回调,试试这个:

    forge.prefs.get('offset_val' function(offset1){
      forge.prefs.get('id', function(val){
        load_my_car(val,offset1);
      }); 
    })
    

    ; 如果你真的不想有两个嵌套的 forge.prefs.get() 你需要检查哪个回调首先完成,然后只在第二个完成后调用 load_my_car()。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-22
      • 2016-03-09
      • 2019-07-09
      • 2019-02-17
      相关资源
      最近更新 更多