setTimeout(function() {
console.log("1")
setTimeout(function() {
console.log('2')
setTimeout(function() {
console.log('3')
setTimeout(function() {
console.log('4')
}, 1000)
}, 1000)
}, 1000)
}, 1000)
function f1() {
return new Promise(function(resolve, rejext) {
setTimeout(function() {
resolve('1')
}, 1000)
})
}
function f2() {
return new Promise(function(resolve, rejext) {
setTimeout(function() {
resolve('2')
}, 1000)
})
}
function f3() {
return new Promise(function(resolve, rejext) {
setTimeout(function() {
resolve('3')
}, 1000)
})
}
function f4() {
return new Promise(function(resolve, rejext) {
setTimeout(function() {
resolve('4')
}, 1000)
})
}
f1().then(function(data) {
console.log(data)
return f2()
}).then(function(data) {
console.log(data)
return f3()
}).then(function(data) {
console.log(data)
return f4()
}).then(function(data) {
console.log(data)
})