Javascript:全局变量值不能更改


FB.api(...,function (..){
  var a = 0 ;
  FB.api(...,function (l){
         a = l.data.length;
  });
     alert(a) ;     
});

显示的值为零!?不应该是给一个值l.data.length吗?!如果我有警报(a) ; 在行 a = l 之后 .data.length ;它的工作:/

更新:

由于FB.api是异步的,还有其他方法可以修改吗?

FB API 是异步的。

如果在更改变量值后需要使用变量,请向函数发送回调并在回调中获取变量。

var callback = function(){
  alert(a);
}
FB.api(...,function (l, callback){
         a = l.data.length;
         callback();
  });

FB API 是异步的。 所以你应该在回调函数中提醒a的值

function (l){
     a = l.data.length;
     alert(a);
})

a = l.data.length在回调函数中,它将在调用回调函数时执行。

但是alert(a)将在FB.api后立即执行.

它的异步;所以到时候

function (l){
     a = l.data.length;
})

执行警报 (A) 可能已执行。

编辑:我们应该在同一函数中设置变量 A 后编写的下一个操作

function (l){
     a = l.data.length;
     nextThing1();
     nextThing2()
})

相关内容

  • 没有找到相关文章

最新更新