2012-08-27 2 views
0

안녕하세요, 각 루프의 위치를 ​​얻으려고합니다. 야후 플레이스 메이커는 배열의 텍스트 변수에서 위치를 가져 오는 데 사용됩니다. 각 루프에서 위치를 외부 함수로 보내지 만 값을 가져 오지는 않습니다. 아무도 뭘 잘못하고 있는지 알아? 감사!비동기 콜백에서 값 가져 오기

function replace_undefined(array, text_array) { 
     console.log(text_array); 
     for (i = 0, l = text_array.length; i < l; i++) { 
      var text = array[i].text; 
      Placemaker.getPlaces(text, function (o) { 
       console.log(o); 
       if ($.isArray(o.match)) { 
        if (o.match[0].place.name == "Europe" || o.match[0].place.name == "United States") { 
         var location = o.match[1].place.name; 
         getLocation(location); 
        } 
        if ($.isArray(o.match)) { 
         if (o.match[0].place.name !== "Europe") { 
          var location = o.match[0].place.name; 
          getLocation(location); 
         } 
        } 
       } 
       if (!$.isArray(o.match) && o.error == "no locations found") { 
        var location = ""; 
        getLocation(location); 

       } 
       if (!$.isArray(o.match) && o.error !== "no locations found") { 
        var location = o.match.place.name; 
        getLocation(location); 
       } 
      }); 
     } 

     function getLocation(n) { 
      return function() { 
       console.log('Location: ' + n); 
      }; 
     } 


    } 
+0

더 이상 당신을 도울 시간이 없지만 [엄격한 (평등) 평등]을 사용하고 있다는 것을 알고 있습니다 (http://jonkruger.com/blog/2009/04/07/strict- 등호 연산자 - in - javascript /) 여기서'! =='는 아닌가? –

+0

예 나는 @MarceloAssis –

답변

0

질문에 정확히 어디에 문제가 있는지는 알려지지 않습니다. 나는 그것이 getLocation에있는 호출에 있다고 가정하고 있습니다.

내가 즉시 알아 차 렸던 한 가지는 getLocation이 함수를 반환한다는 것입니다. 따라서 getLocation(location);을 수행하는 것은 해당 함수를 반환하는 것 외에는 아무 것도하지 않을 것입니다. getLocation()에 의해 반환되는 함수를 실제로 호출하려면 (getLocation(location))();을 수행해야합니다.

getLocation에서 함수를 반환 할 이유가 있습니까?

+0

배열의 해당 사용자에게 위치를 저장하려고 실제로 시도하고 있지만 정확하게 수행하는 방법을 모른다. –

+0

함수의 getLocation (위치) { \t \t \t \t \t \t \t \t \t \t \t \t 창 함수() { \t \t \t \t \t \t loc.push (위치); \t \t \t \t \t \t \t console.log (loc); \t \t \t \t \t \t}}; \t \t \t \t \t \t \t} 함수 @Vivin Paliath에 배열 매번 생성하지 않고 그 값을 대체하는 다른 방법이 있는가? 건배 –