setTimeout(() => {
console.log('timeout')
Promise.resolve().then(function() {
console.log('timeout resolve')
})
})
console.log('promise1')
var p1 = Promise.resolve()
.then(function() {
console.log(0)
return Promise.resolve(4)
})
.then(function(r) {
console.log(r)
})
console.log('promise2')
var p2 = Promise.resolve()
.then(function() {
console.log(1)
})
.then(function() {
console.log(2)
})
.then(function(){
console.log(3)
}).then(function() {
console.log(5)
})