title: How to use Q library while converting Node async functions to promises?
body: <p>How do I use Promises at the code below?</p>
  
  <pre><code>function async_f1(callback) {
      setTimeout(function() {
          callback("Async function 1...");
      }, 1000);
  }
  
  function async_f2(callback) {
      setTimeout(function() {
          callback("Async function 2!...");
      }, 1000);
  }
  
  function async_f3(callback) {
      setTimeout(function() {
          callback("Second async function 3!...");
      }, 1000);
  }
  
  function doAll() {
      async_f1(function(result1) {
          async_f2(function(result2) {
              async_f3(function(result3) {
                  console.log("Final result:", result1 + " " + result2 + " " + result3);
              })
          })
      });
  
  }
  
  doAll();
  </code></pre>
  
  <p>Thank you</p>