Promises:

Callback vs Promises 

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

//Have to check manually if things went wrong and had to called the function twice 
getTempCallBack('London', function (err, temp) {
    if (err) {
        console.log('error', err)
    } else {
        console.log('success', temp)
    }
});

//Promises handle callbacks better
function getTempPromise(location) {
    return new Promise(function (resolve, reject) {
        //Even if resolve and reject were called, we can only called it once so only resolve is called
        setTimeout(function () {
            resolve(79);
            reject('City not found')
        },1000);
    });
}

getTempPromise('London')
    .then(function (temp) { //Then lets us specify a success and error callback, that only get executed at most one time
        console.log('promise success', temp)
    }, function (error) {
        console.log('promise failed', err)
    });

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

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

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

results matching ""

    No results matching ""