Why the Promise.all(array) not resolved immediately?

Viewed 136

I run the code sample bellow on my machine (with Node 5.8.0 installed) and get next result (see after the code sample).

Code sample:

'use strict'

var p1 = Promise.resolve();
var p2 = Promise.resolve();

var p12 = Promise.all([p1, p2]);

var cb = function() {
  console.log(p12);
}

setTimeout(cb, 0);

console.log(p1);
console.log(p2);
console.log(p12);

Result:

Promise { undefined }
Promise { undefined }
Promise { <pending> }
Promise { [ undefined, undefined ] }

Why is it so that p12 not resolved immediately after p1 and p2 (giving p1 and p1 resolved at the start of the program), and why is 'timeouted' p12 got resolved? Is there some amount of time needed for Promise.all(array) gets resolved?

1 Answers
Related