Promises

by Tiago Sousa

JavaScript

const simplePromise = value => {
	return new Promise((resolve, reject) => {
  	if (value !== 1) {
    	reject('Diferent than 1');
    }
    
    resolve(value);
  });
}

const runAsyncFunctionThatUserPromises = async _ => {
	const result = await simplePromise(1);
  console.log(result);
  
  const listResult = await Promise.all([1,1].map(simplePromise));
  console.log(listResult);
}

const runAsyncFunctionThatUserPromisesWithError = async _ => {
	try {
		const result = await simplePromise(2);
	  console.log(result);  
  } catch(e) {
  	console.log(e);
  }
}

const withOutPromises = _ => {
	simplePromise(1).then(result => {
  	console.log(result);
  });
}

const withOutPromisesError = _ => {
    simplePromise(2).then(result => {
      console.log(result);
    }).catch(e => {
    	console.log(e);
    });
}


runAsyncFunctionThatUserPromises();
runAsyncFunctionThatUserPromisesWithError();
withOutPromises();
withOutPromisesError();