0
배열에 객체를 밀어 넣고 배열을 배열로 처리하려고합니다. 현재 어레이에서 아무 것도 제거하지 않고 acme.addToValidateQueue 함수가 호출 될 때마다 (여러 번 연속해서) 항상 배열 길이로 1을 표시합니다. 내가 도대체 뭘 잘못하고있는 겁니까?배열의 객체를 푸시 한 후 Array.length가 0입니다.
var acme = {};
acme.validateQueue = [];
acme.validateQueueLastIndex = 0;
acme.addToValidateQueue = function(fieldData,fieldName){
var queueItem = {
index : acme.validateQueueLastIndex,
fieldData : fieldData,
fieldName : fieldName
};
acme.validateQueue.push(queueItem);
acme.validateQueueLastIndex++;
console.log(acme.validateQueue.length); // shows 1 everytime the queue is called.
if(acme.validateQueue.length === 1){
acme.processValidateQueue();
};
}
acme.processValidateQueue = function(){
if(acme.validateQueue.length){
acme.validate_field(acme.validateQueue.shift());
}
}
매번 새로운'acme'과'acme.validateQueue'를 사용하지 않을 것입니까? – user2357112
그리고'acme' 대신에'this'를 사용해서는 안되기 때문에, 메소드는'acme' 변수 대신에 호출되는 인스턴스를 사용합니까? – user2357112
addToValidateQueue에 대한 호출을 표시 할 수 있습니까? –