【发布时间】:2016-11-15 23:01:57
【问题描述】:
我有这个函数可以在加载类别名称后回调文章。我的问题是,因为 $http 是异步的,所以在完成加载所有类别名称之前触发了回调。 我是一个角度初学者,所以一些帮助会很好,我试图解决这个问题大约 5 小时。谢谢。
忘记添加我的其他方法:
function getData(callback) {
$http.get('http://www.myurl.de/wp-json/wp/v2/posts')
.then(function(res) {
var articles = res.data;
setCategory(articles, function(result) {
cachedData = result;
callback(result);
});
});
}
function setCategory(articles, callback) {
for (var j = articles.length - 1; j >= 0; j--) {
var article = articles[j];
for (var i = article.categories.length - 1; i >= 0; i--) {
if (article.categories[i] === 614) {
article.categories.splice(i, 1);
}
$http.get('http://www.myurl.de/wp-json/wp/v2/categories/' + article.categories[i])
.then(function(res) {
article.categories = res.data.name;
articles[j] = article;
if (j == 0 && i == 0) {
callback(articles);
}
});
}
}
}
【问题讨论】:
-
首先它会调用服务器上的许多ajax请求,它会降低你的页面加载速度。而不是您可以调用单个 ajax 调用并获取所有类别数据。
-
我现在有点困惑,我怎样才能在一个单一的调用中传递它们?
-
您可以发布值
标签: angularjs http asynchronous callback