Javascript for Loop w / Facebook API调用

时间:2017-11-20 20:31:05

标签: javascript arrays facebook javascript-objects

我正在尝试遍历数组organization并调用Facebook API来返回Facebook ID。

循环非常适合循环遍历值以进行API调用,并且我得到了响应。但是,当我尝试将响应存储回组织[i] .fbid时,我收到错误:

  

无法设置未定义的属性'fbid'。

似乎在行执行时,i的值已经超过我已定义的值。对于这个,有比循环更好的方法吗?或者有没有办法在特定的Facebook API调用中使用i的值,这样我就可以将所有数据存储回适当的数组。

for (var i = 0; i < organization.length;i++) { 
  FB.api(organization[i].url, function(response){
    console.log(response); //Ok here, responds with correct FacebookID
     organization[i].fbid = response.id; // Get an undefined here
    }) 
} 

更新:如果有人读到这个,解决方案通过提供的链接工作。对不起这个骗局。

var funcs = [];
  function getEventInfo() {
   for (let i = 0; i < organization.length;i++) { 
        funcs[i] = function() {
        FB.api(organization[i].url, function(response){
         organization[i].fbid = response.id;
         organization[i].fbname = response.name;
         console.log(organization);
         }) 
        }
        funcs[i]();
      } 
    }

0 个答案:

没有答案