如何使用JavaScript实现异步任务队列,并依次处理队列中的所有任务?本文介绍了JavaScript 阻塞方法实现异步任务队列的方法。
问题
需要实现异步任务队列,并依次处理队列中的所有任务,具体如下:
随机时间将异步任务增加到队列中
队列中的任务按照先进先出的规则依次执行
任务是异步请求,一个执行完成后再执行下一个
使用Java语言的BlockingQueue很容易实现这一需求,但JavaScript没有锁定机制,实现起来也不那么容易。
方案一
很容易想到使用同步非阻塞方案,每隔一定时间检查队列中是否有任务,然后取出第一个处理。这里的间隔间隔是500毫秒,使用settimeout模拟异步请求。