在接口测试过程中,我们经常会遇到上一个接口调用完毕了,需要等待一段时间,再执行下一个接口的场景。
方案1:阻塞休眠等待
function sleep(numberMillis) {
var now = new Date();
var exitTime = now.getTime() + numberMillis;
while (true) {
now = new Date();
if (now.getTime() > exitTime)
return;
}
}
console.log('等待1秒钟.' )
sleep(1000)
执行上面的代码时,整个postman界面会卡死,等待的时间越长,卡住的时间越长,且中途无法做其他事情;
方案2:非阻塞休眠等待
const sleep = time => {
return new Promise(resolve => setTimeout(resolve, time)
)
}
console.log('等待10秒钟,当前共计 0/60 秒')
sleep(60000)
console.log('等待10秒钟,当前共计 60/60 秒')
虽然和方案1没有多大的区别,但是postman界面不卡住了,等待时间到达后,才自动执行后续操作,故建议使用方案2。