我正在为AngularJS项目使用服务,并尝试使用for循环调用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();
})
问题是当我在fetchXML()方法中尝试resource
时;永久设置,意味着如果循环运行五次,则只创建一个fetchXML()实例,并且console.log(resource)在所有五次迭代中返回相同的内容。
请告诉我这里我做错了什么。
答案 0 :(得分:0)
for( key in URLs) {
Service.fetchXML();
}
应该将参数传递给函数,因为它被用作resource
来创建prop
。
for( key in URLs) {
Service.fetchXML(key);
}
这应该很容易排除故障。首先,它将在浏览器控制台/开发工具中检查的请求URL中显而易见。
在函数中使用一些简单的degugger
或console.log()
语句也会有所帮助。或者在函数上设置断点并单步执行它以查看变量值