2013-12-25 3 views
0

Я использую услуги для моего проекта AngularJS и пытается вызвать service.method, используя для цикла, как это:Вызов метода несколько раз предоставления услуг держит единственный экземпляр данных

for(key in URLs) { 
    Service.fetchXML(key); 
} 

Описание услуги:

[..] 

fetchXML : function(resource) { 

var prop = SomeVar[resource]; //SomeVar is declared within the service 

$.get('xmlURL.xml?resource='+prop, function(data) { 
    //adds data to the IndexedDB after properly parsing it. 
    console.log(resource) 
    dbAdd(); 
}) 

Проблема в том, что я пытаюсь использовать resource внутри метода fetchXML(); его набор постоянно, означает, что если цикл выполняется в пять раз, создается только один экземпляр fetchXML(), а console.log (resource) возвращает то же самое для всех пяти итераций.

Пожалуйста, скажите мне, что я делаю неправильно здесь.

+0

любезно обмениваться служебным кодом –

+0

попытаться получить XML в массиве :) – KoIIIeY

+0

не очевидно, что проблема не в коде, который у вас есть показали? Вы ожидали, что у людей здесь будут кристальные шарики, чтобы выяснить, что делает код fetchXML() и почему он вызывает проблему? Задайте неполные вопросы, и вы получите плохой ответ, добавьте правильные детали, и вы будете удивлены, как быстро вы получите обратную связь. – charlietfl

ответ

0
for(key in URLs) { 
    Service.fetchXML(); 
} 

должны передать параметр в функцию, так как он используется в качестве resource для создания prop.

for(key in URLs) { 
    Service.fetchXML(key); 
} 

Это было довольно легко устранить. Во-первых, это было бы очевидно в запросе url, проверенном в инструментах консоли браузера/dev.

Также с помощью некоторых простых функций degugger илифункции могли бы помочь. Или установив точку останова на функцию и перешагнув ее, чтобы увидеть значения переменных

+0

Спасибо за быстрый ответ. Вы правы, я должен был упомянуть, что '' key'' уже передается в функцию (ее опечатка). Во-вторых, я использую console.log(), чтобы увидеть значения, а также протоколировать запросы XHR для просмотра исходящих запросов. Все указывают одно и то же - одно и то же ключевое значение передается во всех XML-запросах вместо разных ключей (в соответствии с циклом). –

+0

хорошо не видит, откуда ключи или что находится в объекте 'SomeVar' ... не может помочь без кода. Попробуйте создать демоверсию, которая реплицирует проблему в jsfiddle.net – charlietfl

Смежные вопросы