如何用JavaScript编写一个处理长尾词的Promise队列工具?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1611个文字,预计阅读时间需要7分钟。
目录 + 摘要 + 思考 + 实现 + 总结 + 摘要在百度的解释中,队列是一种特殊的线性表,其特殊之处在于它只允许在表的前端进行删除操作,而在表的后端进行插入操作,这与栈类似。
目录
- 摘要
- 思考
- 实现
- 总结
摘要
在百度的解释中,队列是一种特殊的线性表,特殊之处在于它只允许在表的前端进行删除操作,而在表的后端进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。
受这个队列结构的启发,在前端不同的业务场景中,由于一次性发起的异步请求过多,并且这些服务位于不同组件或者不同兄弟功能之间,我们无法直接对这些方法进行同步,所以需要引入队列的概念,对这些并发性的问题进行顺序处理。
思考
为什么要写一个类似于队列的功能?
我们知道,在主流的V8引擎中,JavaScript的执行顺序都是至上而下的,引入了ajax之后我们能够对网页进行局部刷新,在前端领域第一次有了异步操作的概念。自此,当我们接触Promise之后也不在陌生于这种模式。当然,使用过Promise的都知道,如果是在某个单一的js文件中,我们完全可以通过编写一个async函数,通过使用await去实现将Promise函数按顺序执行的功能。
本文共计1611个文字,预计阅读时间需要7分钟。
目录 + 摘要 + 思考 + 实现 + 总结 + 摘要在百度的解释中,队列是一种特殊的线性表,其特殊之处在于它只允许在表的前端进行删除操作,而在表的后端进行插入操作,这与栈类似。
目录
- 摘要
- 思考
- 实现
- 总结
摘要
在百度的解释中,队列是一种特殊的线性表,特殊之处在于它只允许在表的前端进行删除操作,而在表的后端进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。
受这个队列结构的启发,在前端不同的业务场景中,由于一次性发起的异步请求过多,并且这些服务位于不同组件或者不同兄弟功能之间,我们无法直接对这些方法进行同步,所以需要引入队列的概念,对这些并发性的问题进行顺序处理。
思考
为什么要写一个类似于队列的功能?
我们知道,在主流的V8引擎中,JavaScript的执行顺序都是至上而下的,引入了ajax之后我们能够对网页进行局部刷新,在前端领域第一次有了异步操作的概念。自此,当我们接触Promise之后也不在陌生于这种模式。当然,使用过Promise的都知道,如果是在某个单一的js文件中,我们完全可以通过编写一个async函数,通过使用await去实现将Promise函数按顺序执行的功能。

