轮训接口时代码执行观察分析

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
let count = 0
let timer = setInterval(function(){

console.log('循环调用开始')
Promise.resolve().then(function(){
console.log('start 请求')
setTimeout(function(){console.log('返回请求结果')},6000)
console.log('end 请求')
})
console.log('循环调用结束',count)

if(count == 4){
clearInterval(timer)
}
++count
},2000)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
循环调用开始
循环调用结束 0
start 请求
end 请求
循环调用开始
循环调用结束 1
start 请求
end 请求
循环调用开始
循环调用结束 2
start 请求
end 请求
循环调用开始
循环调用结束 3
start 请求
end 请求
返回请求结果
循环调用开始
循环调用结束 4
start 请求
end 请求
返回请求结果
返回请求结果
返回请求结果
返回请求结果

Alt text