Показать сообщение отдельно
  #4 (permalink)  
Старый 25.02.2014, 10:45
Интересующийся
Отправить личное сообщение для vas88811 Посмотреть профиль Найти все сообщения от vas88811
 
Регистрация: 20.12.2013
Сообщений: 22

Но почему-то по аналогии с этим кодом, код с вконтакте API у меня не всегда срабатывает. Вот этот код. Он с интервалом в 334 мс посылает функции getMutual друга из массива по очереди. И в этой функции получает друзей каждого друга и высчитывает сколько из них из города '2'. И заносит в массив. И также, когда оба массива >= count_friends, должна происходить отправка в базу. По загрузке если смотреть, вроде бы друзей всех перебирает, но отправка в базу не всегда срабатывает, хотя количество в массивах уже давно нужное..


<html>
<head>

</head>
<body>
<script src="js/jquery-1.8.3.min.js" charset="windows-1251"></script>
<script src="http://vkontakte.ru/js/api/xd_connection.js?2" type="text/javascript"></script>
<script type="text/javascript" charset="cp1251" >
window.onload = (function() {
VK.init(function() {
VK.api("users.get", {user_ids:count,fields:"first_name"}, function(data) {
var friends_data = data.response;
var count_friends = data.response.length;

var ids = [];
var city_count = [];

function getMutual(friendid){

VK.api("friends.get",{user_id:friendid,fields:"cit y"},function(data) {

if (data.response) {

var sum = 0;
for (var i=0;i<data.response.length;i++) if(data.response[i].city == 2) sum++;

ids.push(friendid);
city_count.push(sum);


if (ids.length >= count_friends && city_count.length >= count_friends)
{
$.post(vbazy, { res:ids, res2:city_count}, function(data) {
alert("Занесли");
});
}

}
});
}

count=0;
function next() {
getMutual(friends_data[count].uid);
count +=1;
setTimeout(next, 334);
}
next();
});
});
});


</script>

</body>
</html>
Ответить с цитированием