title: Is this the correct way to wrap readFileSync in a Promise
body: <p>The reason for the below code is to get rid of <code>callback hell</code>/<code>pyramid of doom</code>. I don't fully understand <code>i/o blocking</code> though yet.</p>
  
  <pre><code>'use strict';
  
  var fs = require('fs');
  var co = require('co');
  
  co(function* () {
  
      var fileName = 'readme.txt';
  
      var str =
          yield new Promise(function (resolve, reject) {
              var result;
              try {
                  result = fs.readFileSync(fileName, 'utf8');
              } catch (err) {
                  reject(err);
              }
              resolve(result);
          });
      console.log('result readFileSync: ' + str);
  
  });
  </code></pre>
  
  <p>All I'm expecting is a <code>yes</code> or <code>no</code> answer to be honest. Hope fully if no could someone give some details as I'm trying to learn properly about JavaScript sync/async and how to harness the power of Promises.</p>