In Node.js, I am waiting for several requests to finish before I make a function call as follows:

```
function loadQuotes(symbols){
    var promises = [];
    for(var s in symbols){
        var deferred = Q.defer();
        var url = rootURL;
        request(url, function (error, response, body) {
            if (!error && response.statusCode == 200) {
                var info = JSON.parse(body);
                    deferred.resolve();
                    console.log("resolved");
            }
        });
        promises.push(deferred.promise);
    }
    return Q.all(promises);
}

```

I am waiting for all the requests as follows

```
loadQuotes(symbols.slice(0,3)).then(function(data){
    console.log("done");
    httpServer();
}).done();

```

All of the requests are made, but I do not see "done" printed to the console. The `promises` variable is indeed a list of promises, and they have all been "resolved", yet the `then` function is not called. Any ideas?