I vary new for javascript world, I've a simple method like this
function foo(items) {
 var result = []
 // Assume under forEach statement take 2 sec per loop
 items.forEach(function(item) {
     setTimeout(function() {
         result.push(item + 2)
     }, 2000)
  }) 
  return result
}
console.log(foo([1,2,3,4]))
console.log("Done")
Result:
[]
Done
Except output:
[ 3, 4, 5, 6 ]
Done
anyone can help me, Or explain me about asynchronous in javascript to resolve this problem.
 
     
     
    