Promise done right

by juanmirod

JavaScript

doSomethingAsync = function() {
  return Promise.resolve(5);
}

somethingComplicated = function(num) {
  throw 'Error, too much complexity';
	return num * 2; 
}

function anAsyncCall() {
    var promise = doSomethingAsync();
    return promise.then(function(res) {
        return somethingComplicated(res);
    });
}

anAsyncCall()
  .then(function(res) {
    console.log(res);
  })
  .catch(function(err) {
  	console.error(err);
  })