第四章 数据结构这之“队列”
4.1 队列简介
- 队列(queue):先进先出、入队(enqueue)、出队(dequeue)
- JS中没有队列这个数据结构、用Array实现队列的功能。
- 队列在js中如何实现:
入队:push()
出队:shift()
const queue = [];
queue.push(1);//进入队列
queue.push(1);//进入队列
const item1 = queue.shift();//出队列
const item2 = queue.shift();//出队列
4.2 什么场景用队列
队列的使用场景:
- 食堂排队打饭:先排队的同学先打好饭
- JS 异步中的任务队列:JS是单线程, 无法处理异步中的并发任务
- 同步和异步:同步是前一个事件执行完才执行后一个事件,异步指先执行先执行后面的事件,等后面的事件执行完后执行前面的事件。
- 常见的异步模式:回调函数、事件监听、发布/订阅模式、promise、generator(ES6)、async/await (ES7)
回调函数