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是异步的还有其他任何修改方法吗?
答案 0 :(得分:1)
FB api是异步的。
如果在更改其值后需要使用变量,请向函数发送回调并在回调中获取变量。
var callback = function(){
alert(a);
}
FB.api(...,function (l, callback){
a = l.data.length;
callback();
});
答案 1 :(得分:1)
FB api是异步的。所以你应该在你的回调函数中提醒a
的值
function (l){
a = l.data.length;
alert(a);
})
答案 2 :(得分:0)
它的异步; 所以到时候
function (l){
a = l.data.length;
})
执行警报(a)已经执行过。
编辑: 我们应该在变量a设置在同一个函数之后编写下一个操作
function (l){
a = l.data.length;
nextThing1();
nextThing2()
})
答案 3 :(得分:0)
a = l.data.length
在回调函数中,它将在调用回调函数时执行。
但是alert(a)
将在FB.api
之后立即执行。