title: Promise returns undefined
body: <p>I know you can't make an asynchronous function behave synchronously but
  how do I add some kind of order to my promises chain? </p>
  
  <p>One result relies on the previous promise value and when that doesn't happen I get an undefined error. It's an http request so it is relying on external factors like how fast my connection can execute the request, etc.</p>
  
  <pre><code>module.exports.movieCheck = function(authToken) {
  return request({
      method : 'GET',
      uri : 'https://graph.facebook.com/' + profileID + '/posts?fields=message&amp;limit=25&amp;' + authToken
      }).spread(function (response, body) {
          console.log('https://graph.facebook.com/' + profileID + '/posts?fields=message&amp;limit=25&amp;' + authToken);
          return body;
      }, function(e) {
          console.log(e);
  });
  };
  </code></pre>
  
  <p>I am calling the above method as follows. However console.log returns undefined.</p>
  
  <pre><code>movieCheck.getToken()
  .then(function(token) {
    movieCheck.movieCheck(token);
  })
  .then(function(movies) {
    console.log(movies); //should print json data
  });   
  </code></pre>
  
  <p>Terminal prints</p>
  
  <pre><code>undefined
  https://graph.facebook.com/.../posts?fields=message&amp;limit=25&amp;access_token=....
  </code></pre>