【发布时间】:2015-10-10 13:34:04
【问题描述】:
所以我目前正在做一个项目,我正在发出一个角度为大约 1500 个 URL 的 http 请求,以寻找与我所拥有的条件匹配的 json(只有 1 个 URL 会匹配)。我目前有一个有时可以工作的实现(但我假设它不是确定性的,因为它的请求是异步的,尽管它可能只是一个错误??)。我对 Angular 还是有点陌生,所以我不确定我是否做得正确,所以我愿意完全改变代码!
this.matchingurl;
this.data;
this.findUrl = function(condition) {
var that = this;
for (var i = 0; i <= ; i++) {
// this is just looping through the url list
for (var i = 0; i < urlList.length; i++) {
for (var j = 0; j < urlList[i]['list'].length; j++) {
this.url = 'http://' + urlList[i]['list'][j] + restofurl;
var tempUrl = urlList[i]['list'][j];
$http.get(this.url).success(function(data) {
if (condition is met in data) {
that.matchingurl = tempUrl;
return;
}
})
.error(function(data){
// error handling
});
}
}
}
}
TLDR:matchingUrl 不是我所期望的?仍然进入“条件”循环,但没有吐出正确的网址。对于任何子列表,无论对错,总是给我相同的“url”。
【问题讨论】:
-
我不明白为什么你必须使用
$http.get()如果你已经有数组中的 URL 并且想将它与某些东西进行比较?另外,您能否展示一下您的列表的结构? -
@DanielB,他想将获取的数据的内容与某些东西进行比较,而不是 url 本身。
-
这就是我最初的想法,但是问题和代码的措辞和命名方式使它听起来不一样。不过,很高兴看到 URL 数组的结构。
-
结构基本上是一个 json 对象列表名称:____,列表:(来自同一站点的 url 列表)
标签: javascript angularjs http asynchronous