Search⌘ K

Solution Review: Even or Odd?

Explore how to handle asynchronous JavaScript callbacks by learning to create and manage promises that resolve or reject based on whether a number is even or odd. Understand the use of resolve, reject, and setTimeout in promise handling to better grasp asynchronous programming concepts.

We'll cover the following...

Solution #

Javascript (babel-node)
function evenOdd(num) {
return new Promise(function(resolve,reject){
if(isNaN(num)){
reject("error")
}
if((num%2) != 0){
setTimeout(function(){
resolve("odd")},1000)
}
if(num%2 == 0){
setTimeout(function(){
reject("even")},2000)
}
});
}
function test(number){
return evenOdd(number).then(function(result){
console.log(result)
}).catch(function(error){
console.log(error)
})
}
test(5)
test(1)
test(0)
test(2)
test('abc')

Explanation #

Let’s look at the evenOdd function first. The function takes a number num and returns a new promise. The callback function passed as a parameter to the promise has two parameters: resolve() ...