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()
})