2014-11-11 1 views
-1

내 validUrlList와 invalidUrlList를 검사 할 때 이들은 동일합니다. 두 콜백이 모두 해고 된 이유는 무엇입니까?성공과 오류 콜백 모두 자바 스크립트에서 실행

filterPhotos: function(urlList) { 
    var filterSuccess; 
    var filterError; 
    var i; 

    filterSuccess = function (url) { 
     pg_scope.validUrlList.push(url) 
    }; 

    filterError = function (url) { 
     pg_scope.invalidUrlList.push(url) 
    }; 

    for (i=0; i<urlList.length; i++) { 

     console.log(i); 
     window.resolveLocalFileSystemURL(urlList[i], filterSuccess(urlList[i]) , filterError(urlList[i])); 


    } 

}, 
+1

당신이 그들을 호출이 아닌시키는 있기 때문에'그들에게 전화 resolveLocalFileSystemURL' : 당신이 그 기능에 대한 매개 변수를 전달하려는 경우, 하나의 쉬운 접근 방법은 폐쇄를 사용하는 것입니다. 'functionname()'으로 함수를 호출하고, 'functionname'으로 전달하십시오. –

+0

어떻게 매개 변수를 포함하여 함수 이름을 전달할 수 있습니까? – egekhter

+0

대신 원래의 방법으로 원하는 다른 함수를 전달해야합니다. 대신 .bind를 사용할 수도 있습니다. –

답변

1

올바르게 처리기를 전달하지 않고 함수를 호출하기 때문입니다.

대신 다음을 수행해야합니다. window.resolveLocalFileSystemURL (urlList [i], filterSuccess, filterError);

편집

:

var x = 2; // example parameter 

window.resolveLocalFileSystemURL(urlList[i], 

function filterSuccess(url){ 
    pg_scope.validUrlList.push(url); 
    console.log(x); // we can use x! 
}, 

filterError); 
+0

성공 및 오류 콜백에 url 매개 변수를 전달하는 방법은 무엇입니까? – egekhter

+0

첫 번째 인수는 URL 매개 변수 IS – roman

+0

성공 및 오류 콜백에 전달해야하는 매개 변수를 나타냅니다. – egekhter

관련 문제