Javascript试图将回调结果存储到对象中的问题

时间:2016-08-08 19:26:36

标签: javascript

我正在进行RSS提要抓取并获取数据的值并将它们放入对象中。

这个对象的一个​​键我试图附加一个方法调用,它接受来自同一个对象的另一个键/值对,然后传入然后返回方法回调函数的结果。

我遇到了问题。

有什么想法吗?

for(var z = 0; z < Submit_movies_feedData.items.length; z++){
  sixNineContent = {
    title : Submit_movies_feedData.items[z].title,
    pubDate : Submit_movies_feedData.items[z].pubDate,
    image : Submit_movies_feedData.items[z].image,
    link : Submit_movies_feedData.items[z].link,
    adfly : adfly.short(this.link,function(urlAdfly){
      return urlAdfly;
    });
  };
}

2 个答案:

答案 0 :(得分:0)

{{1}}是一个异步函数,因此回调不会按照您编写的方式工作。您需要等待结果才能将其添加到对象中。

答案 1 :(得分:0)

在异步函数完成后构建对象:

for(var z = 0; z < Submit_movies_feedData.items.length; z++){
  adfly.short(this.link,function(urlAdfly){
      return urlAdfly;
      sixNineContent = {
        title : Submit_movies_feedData.items[z].title,
        pubDate : Submit_movies_feedData.items[z].pubDate,
        image : Submit_movies_feedData.items[z].image,
        link : Submit_movies_feedData.items[z].link,
        adfly : adfly
      };
  })

}