Q.js - Usando adiada

Como obtenho o valor do texto do exemplo abaixo?

Q.js tem um exemplo sobre o uso do Deferred:

var deferred = Q.defer();
FS.readFile("foo.txt", "utf-8", function (error, text) {
    if (error) {
        deferred.reject(new Error(error));
    } else {
        deferred.resolve(text);
    }
});
return deferred.promise;

Nesse caso, há uma função assíncrona de nó sendo usada. O que eu quero fazer é obter o valor do texto do deferred.promise sendo retornado. Quando eu console.log (deferred.promise) eu recebo isso:

{ promiseSend: [Function], valueOf: [Function] }

O que estou fazendo de errado (como eu acabei de copiar / colar o exemplo aqui:https://github.com/kriskowal/q#using-deferreds) ou o que mais eu preciso fazer para obter esse texto do arquivo?

Estou ciente de que node.js tem uma versão síncrona da chamada acima - meu objetivo é entender como o adiamento funciona com essa biblioteca.

questionAnswers(5)

yourAnswerToTheQuestion