2013-09-06 5 views
0

ly 다음 코드에서 렌더링 함수는 아래 루프에서 호출됩니다. 이상한 일은 함수 호출 (console.log) 전에 코드 행이 작동하지만 함수 내부의 console.log 지시문이 작동하지 않는다는 것입니다. for (var i in coupons) 행을 확인하십시오. 또한 함수 호출 이후의 행은 작동하지 않습니다. console, log (e). 또한 배열의 길이가 3이면 3 번 대신 d가 한 번만 실행됩니다.팝업 시스템을 사용할 수 없기 때문에 시스템이 다운되는 경우가 있습니다 (실제로는 그렇습니다). 그래서 저는 이것에 의존해야합니다.코드 흐름이 렌더링 함수에 도달하지 않습니다.

function render(template,object){ 
    chrome.extension.getBackgroundPage().console.log("Hello")//This doesn't 
    var placeholders=/\$\{([A-Za-a0-9_]+)\}/.exec(template); 
    chrome.extension.getBackgroundPage().console.log(placeholders);//Neither does this 

} 
function update(){ 
     chrome.extension.sendRequest({'action' : 'fetchCoupons'}, 
       function(couponsObj) { 
        // chrome.extension.getBackgroundPage().console.log('coupons'); 
        //chrome.extension.getBackgroundPage().console.log($.tmpl); 
        var template=$("#coupons-template").html() 
        //$(".coupons").html(template ) 
        //$couponscontent=$.tmpl(template,coupons) 
        var coupons=couponsObj.coupons; 
        var deals=couponsObj.deals; 
         chrome.extension.getBackgroundPage().console.log(coupons); 

        for(i in coupons){ 
         chrome.extension.getBackgroundPage().console.log("d");//This console.log works 
         render(template,coupouns[i]);//This line calls the render function 
         chrome.extension.getBackgroundPage().console.log("e"); 

        } 
       } 
     ); 

} 

     update(); 
+0

을 많은 설명 할 수없는 "작동하지 않는다". 신경 써야 할까? –

답변

0

당신은 render에 대한 호출에 중단 코드를 일으키는 오타있어 :

render(template,coupouns[i]); 

가되어야한다

render(template,coupons[i]); 

coupouns -> 쿠폰

관련 문제