setTimeout(function () { //第一层
console.log('武林要以和为贵');
setTimeout(function () { //第二程
console.log('要讲武德');
setTimeout(function () { //第三层
console.log('不要搞窝里斗');
}, 1000)
}, 2000)
}, 3000)
setTimeout(function () { //第一层
console.log('武林要以和为贵');
a()
},3000)
function a(){
setTimeout(function () { //第二程
console.log('要讲武德');
b()
}, 2000)
}
function b(){
setTimeout(function () { //第二程
console.log('不要搞窝里斗');
}, 1000)
}
拿第一段代码为例,定时器是为了模拟网络请求而写的定时器,
可现实开发中 你发送网络请求 并不知道具体的响应时间 是无法写成第二种格式的
不知道你能理解吗.
假设三个请求
axios.get('1')
axios.get('2')
axios.get('3')
你如何按照你写的第二种格式写呢 这三个请求都不确定响应时间,我要依次打印三个结果
那是不是 就要用到promise 之后我们利用.then回调