请表述以下代码的执行结果和原因:
setTimeout(function){ console.log(1); },0) new Promise(function execulor(resolve){ console.log(2) for(var i = 0;i<10000;i+=1){ i ==9999 && resolve() } console.log(3) }).then(function(){ console.log(4) }) console.log(5)
setTimeout(function(){ console.log(1) },0); new Promise(function(resolve,reject){ console.log(2); for (var i = 0; i < 10000; i++) { i == 9999 && resolve() } console.log(3); }).then(function(){ console.log(4); }) console.log(5)