Example Promise

from course [Andrew Mead] The Complete Node.js Developer Course 2.0 (updated) [ENG, 2018]

by standart callback

function getTempCallback(location, callback) {
  callback(undefined, 78);
  callback('City not found');
}

getTempCallback('Philadelphia', function (err, temp) {
  if (err) {
    console.log('error', err);
  } else {
    console.log('success', temp);
  }
});


by promise

function getTempPromise(location) {
  return new Promise(function (resolve, reject) {
    setTimeout(function () {
      resolve(79);
      reject('City not found');
    }, 1000);
  });
}

getTempPromise('Philadelphia').then(
  function (temp) {
    console.log('promise success', temp);
  },
  function (err) {
    console.log('promise error', err);
  }
);



Another example

// Challenge Area
function addPromise(a, b) {
  return new Promise(function (resolve, reject) {
    if (typeof a === 'number' && typeof b === 'number') {
      resolve(a + b);
    } else {
      reject('A & b need to be numbers');
    }
  });
}

addPromise(2, 3).then(
  function (sum) {
    console.log('success', sum);
  },
  function (err) {
    console.log('error', err);
  }
);

addPromise('andrew', 9).then(
  function (sum) {
    console.log('this should not show up');
  },
  function (err) {
    console.log('This should appear', err);
  }
);



How to Chain JavaScript Promises

https://html5hive.org/how-to-chain-javascript-promises/