有这么一个场景 我需要用setInterval获取ajax请求(后端不愿意使用webscoket),我这里发现就是接口处于pending时,还是一直在轮询发送请求,我想做一个优化就是当接口pending了就停止发送,直到后台返回数据了再继续轮询,这个能用async、await解决么?
1 回答
一只斗牛犬
TA贡献1784条经验 获得超2个赞
function sendRequest() { return new Promise((resolve, reject) => { setTimeout(() => { resolve('receive response'); }, Math.round(Math.random() * 2000)); }) }async function runTasks() { for (let i = 0; i < 1000; i++) { const res = await sendRequest(); console.log(res); } } runTasks();
应该就是这个意思吧,等上一个请求完成后再发下一个请求,网络请求用setTimeout
模拟。
添加回答
举报
0/150
提交
取消