NodeJS : Waiting 5 seconds between URL requests is not working

I am trying to crawl a list of URLS on my website. I want to wait five seconds between URL requests but the problem is that no matter how I bury my setTImeout function into the script it does not wait the way that I want it to.

var urlArray=["http://domain.com/page1.php", "http://domain.com/page2.php", ... ];
var request = require('request');
function logStatus(url){ 
    request(url, function (err, res, body){
        console.log(res.statusCode); 
    });
    return 1;
} 
function doSetTimeout(getURL){
    timer = setTimeout(logStatus(getURL), 5000);
    clearTimeout(timer);
}
urlArray.forEach(function(entry) {
    doSetTimeout(entry); 
    //setTimeout(logStatus(entry), 5000)
}); 

Working Edit:

var request = require('request');
function logStatus(url){ 
    return 1;
} 
var waitInSeconds=5;
var waitInMilliSeconds=waitInSeconds*1000; 
console.log('This scan will take '+((urlArray.length * waitInSeconds)/60)+' minutes');
for(i=0; i<=1000;i++){ 
    if(!urlArray[i]) { //if url number i is not in array
        break;
    };
    (function(i){
        setTimeout(function(){
            request(urlArray[i], function (err, res, body){
                console.log(res.statusCode);
                if(i/10 % 1 === 0 ){ //if we have completed 10 more requests, let the user no how much time is remaining.
                    console.log(((urlArray.length * waitInSeconds)/60)+' minutes remaining.');
                } 
            }); 
        }, waitInMilliSeconds * i);
    }(i));
}

Try this:

var urlArray=["http://domain.com/page1.php", "http://domain.com/page2.php", ... ];
var request = require('request');

function processUrls(urls) {
  var url = urls.shift();
  logStatus(url, function() {
    if(urls.length > 0) {
        setTimeout(processUrls.bind(this, urls));
    }
  });
}

function logStatus(url, done){ 
  request(url, function (err, res, body){
    console.log(res.statusCode); 
    done();
  });
} 

processUrls(urlArray);