olan döngülerdeki vaatleri kullanma Döngüden tekrarlanan verilerle sorun yaşıyorum (bu doğru değil, veriler benzersiz olmalıdır). Sorunun zayıf bir uygulama/vaatlerin anlaşılmasından kaynaklandığını düşünüyorum.Açılı
var posts = PostsData.getPosts();
$scope.$watch($scope.active, function() {
$timeout(function() {
var markers = [];
for (var key in posts) {
var post = posts[key];
if (posts.hasOwnProperty(key) && posts[key]!=null) {
var p = $q.defer();
p = gf.get(key).then(function(location) {
console.log(post.title)
return ({
idKey: key,
title: post.title,
coords: {
latitude: location[0],
longitude: location[1]
}
});
});
markers.push(p);
}
}
$q.all(markers).then(function(markers) {
$scope.markers = markers;
});
});
})
}
$ scope.markers, tekrarlanan post.title verileriyle doldurulur. Herhangi bir yardım büyük takdir edilecektir. Programlamada yeniyim, sorunlarım basit görünüyorsa özür dilerim.
Yani '$ q.defer() ile;' Orada mantıklı değil. "Var p = gf.get (…) .then (…)' – Bergi
ile başlayalım. Ayrıca, eğer "mesajlar" bir dizi ise, [dizilerdeki 'in' in 'in 'dizisini kullanmanın niçin kötü olduğunu Fikir] (https://stackoverflow.com/q/500504/1048572). Bunun yerine, diğer sorununuzu çözen ['markers = posts.map (…)'] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map) kullanın. . – Bergi