Показать сообщение отдельно
  #2 (permalink)  
Старый 03.10.2013, 21:30
Профессор
Отправить личное сообщение для Яростный Меч Посмотреть профиль Найти все сообщения от Яростный Меч
 
Регистрация: 12.04.2010
Сообщений: 557

примерно так:

function checkAllTopics() {
    var start = 1,
        finish = 10,
        inc = 0,
        baselink = "http://example.com/?id=",
        fullLink = '';
   
    function sendXHR(index, link, callback) { //функция обертка для xhr, с помощью нее я думал сделать запросы синхронными.
 
      fullLink = link + index;
 
      GM_xmlhttpRequest({
          method: "GET",
          url: fullLink,
          onload: function(response) {
              console.log("so this is a result of " + index + ", " + response.status); //здесь мы просто выводим айдишник темы и статус ответа сервера
               
              if (response.status == 200)  {
                  inc++; //здесь логика - если ответ сервака ОК, то делаем инкремент счетчика
                  console.log(this.url, response.status); //это еще один проверочный вывод инфы для того, чтобы убедиться в том, как все работает
              }
              callback();
          }
      });
    }
 
    (function _go() {
       if (start <= finish) {
          sendXHR(start++, baselink, _go);
       } else {
          console.log(inc);  // а здесь в итоге выводим тот самый счетчик, который покажет нам количество успешных обращений к серверу. 
       }
    })();
}
 
checkAllTopics();



обошлись без синхронности
Ответить с цитированием