2011-12-04 2 views
0

자바 스크립트 게임을 만들려고하고 있으며 WebSQL을 사용하여 게임 데이터를 저장하고 있습니다. 쿼리 결과의 형식을 지정하고 반환하는 자체 데이터베이스 선택 기능을 만들었습니다.웹 SQL 게임 - 추가 인수를 익명 함수에 전달

이 특정 인스턴스에서 나는 반환 된 개체를 결과 함수에 전달합니다. 나는 두 개의 다른 변수를 전달하고 싶지만이 오류는 계속 발생합니다. "Uncaught ReferenceError : planetInfo가 정의되지 않았습니다." 누구든지 도울 수 있다면 매우 감사하겠습니다. 미리 감사드립니다.

"selectRowPlanets ('query', outcomes (shipInfo, arrivalNumber));"를 사용해 보았지만 운이 아직 없습니다. outcomes(shipInfo, arrivalNumber)의 콜백이 아닌 실제 함수로 전달되는

selectRowPlanets('query', outcomes(shipInfo, arrivalNumber)); 

출력 :이 코드를 실행

/** db.js **/ 
function selectRowPlanets(query, callBack){ // <-- extra param 
    var result = []; 
    db.transaction(function (tx) { 
    tx.executeSql(query, [], function(tx, rs){ 
     for(var i=0; i<rs.rows.length; i++) { 
     var row = rs.rows.item(i); 
      result[i] = { id:   row['id'], 
         name:  row['name'], 
         owner:  row['owner'], 
         colum:  row['colum'], 
         row:   row['row'], 
         ships:  row['ships'], 
         production: row['production'], 
         percent:  row['percent'] 
     } 
     } 
     callBack(result); // <-- new bit here 
    }, errorHandler); 
    }); 
} 


/** function.js **/ 
function selectDestination(shipInfo, arrivalNumber) { 
    selectRowPlanets('SELECT * FROM planets', outcomes(planetInfo, shipInfo, arrivalNumber)); 
} 

function outcomes(planetInfo, shipInfo, arrivalNumber){ 
     console.log(arguments); 
} 

답변

1

.

selectRowPlanets('query', function() { outcomes(shipInfo, arrivalNumber) }); 
:

는 코드를 호출하는 익명 함수 래퍼를 확인