回调函数内部的变量没有更新,这在循环内

时间:2019-05-01 06:22:57

标签: javascript function loops callback

我想制作一张地图,根据我的要求输出银行清单。但是由于某种原因,回调函数内部的变量不会自行更新,因此只会输出相同的值(数组中的第一个索引)直到结束

for (var i = 0; i < results.length; i++) {
  place = results[i];
  marker = new google.maps.Marker({
    map: map,
    position: place.geometry.location 
  });

  console.log(place.name)
  google.maps.event.addListener(marker, 'click',function() {
    content="<strong>"+place.name+"</strong><br>Address: "+place.vicinity;
    infowindow.setContent(content);
    infowindow.open(map, this);
  });
}

我希望将回调函数中的place.name与外部place变量联系起来,因为此处发生的事情是ex例如:结果返回["Bank1","Bank2","Bank3"],在place.name上输出的是{{ 1}},直到循环结束。

0 个答案:

没有答案