Trigger.io:forge.prefs函数中的变量范围

Jun*_*aso 1 javascript function trigger.io forge

我们很难将forge.prefs值赋给变量,以便我们可以将其作为参数传递.

这是一个示例电话:

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

load_my_car(uid,offset);
Run Code Online (Sandbox Code Playgroud)

它正在返回,undefined并且在嵌套的prefs命令中调用它非常不方便.

有人可以帮我们解决这个问题吗?

Pat*_*lph 5

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);
  }); 
});
Run Code Online (Sandbox Code Playgroud)

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