js实现“锁”

JavaScript0121

js实现“锁”,第1张

在js中需要让某些异步的任务按顺序执行的时候可以Promise.then(Promise).then.....

但是有时候任务不是固定的,无法按照这种固定的模式写下去,需要其他的实现

这是ES6 async,await版本的,借助Promise的resolve,当前面的异步事件执行完后,会调用后面任务的resolve,后面的会执行。

纯Promise的也好实现,不过需要各种回调。

栈:特点就是一个先进后出的结构。队列:特点就是一个先进先出的结构。//一般只要你满足这个特点就可以称之为栈或队列。栈的应用:非常广泛,在CPU内部就有提供栈这个机制。主要用途:函数调用和返回,数字转字符,表达式求值,走迷宫等等。在CPU内部栈主要是用来进行子程序调用和返回,中断时数据保存和返回。在编程语言中:主要用来进行函数的调用和返回。可以说在计算机中,只要数据的保存满足先进后出的原理,都优先考虑使用栈,所以栈是计算机中不可缺的机制。队列的应用:队列主要用在和时间有关的地方,特别是操作系统中,队列是实现多任务的重要机制。windows中的消息机制就是通过队列来实现的。进程调度也是使用队列来实现,所以队列也是一个重要的机制。只要满足数据的先进先出原理就可以使用队列。

结果:

[ 5, 4, 3, 2, 1 ]

1

[ 5, 4, 3, 2 ]

[ 5, 4, 3 ]

3

[ 5, 4 ]

厉害了 我的JS