JavaScript как построить цикл с непостоянным временем итераций - PullRequest
1 голос
/ 06 января 2012

нужно проконсультироваться с джедаем Дж.С.Ситуация: я получил массив с USER_ID, и мне нужно вызвать функцию социальной сети, чтобы разместить их на своих стенах.Поэтому мне нужно запустить функцию wallpost, прослушать ее ответ и затем продолжить итерацию моего цикла.Код, который я написал, может оставлять сообщение последнему человеку из массива, первому, никому и многим другим полезным функциям: s.Нужна ваша помощь jedis

    function showPost() {
            for(i in selFriends) {  //selFriends - massive with user_id 
                    alert(i+' '+selFriends[i]); //checkplace
                    VK.api('wall.post',{
                            owner_id:selFriends[i], //element
                            message:htmlres,  // content 
                            attachment:photoID // id of the mediacontent
                    },function(receive) {
                            showPost();
                    });
            return;
            }
    }

Этот код необходимо исправить, потому что теперь это просто iterationg wall.post для 1-го элемента из массива.Кстати, метод VK.api практически аналогичен методу пользовательского интерфейса Facebook «feed».Большое спасибо:)

1 Ответ

3 голосов
/ 06 января 2012

Я не джедай, но вы пытаетесь запустить первый индекс в вашем массиве selFriends через VK.api и вызвать индекс next в обратном вызове?И затем повторить для каждого элемента в массиве selFriends?

function postId(index) {
   if (index === selFriends.length) 
       return;
   VK.api('wall.post',{
       owner_id:selFriends[i], //element
       message:htmlres,  // content 
       attachment:photoID // id of the mediacontent
       },function(receive) {
           postId(index + 1);
   });
}

И затем

function showPost() {
    postId(0);     
}
...