Topic Description

Given two Promises, promise1 and promise2, each of which resolves to a number. Please implement a function that takes these two Promises and returns a new Promise. The new Promise should resolve to the sum of the resolved values of the two Promises.

Input:
const promise1 = new Promise(resolve => setTimeout(() => resolve(2), 20))
const promise2 = new Promise(resolve => setTimeout(() => resolve(5), 60))
console.log( await **addTwoPromise**(promise1, promise2))
Output: 7

Input:
const promise1 = new Promise(resolve => setTimeout(() => resolve(10), 50))
const promise2 = new Promise(resolve => setTimeout(() => resolve(-12), 30))
console.log(await **addTwoPromise**(promise1, promise2))
Output: -2

Answer

async function **addTwoPromise**(promise1, promise2){
	return Promise.all([promise1, promise2]).then( ([res1, res2]) => {
		 return res1 + res2
		}
	)
}
const addTwoPromises = async function(promise1, promise2) {
	const [res1, res2] = await Promise.all( [promise1, promise2] )
	return res1 + res2
}