使用promise创建分页执行任务

在实际应用中,我们总会遇到以下类似的情况: 在构建爬虫时,需要对当前页面下的所有分页爬取结果页,并在结果页爬取相关数据. 在发送结果数据时,需要按一个固定的队列数量,分次发送数据. 在执行数据库操作时,需要固定数量插入. 这种分页型任务在很多应用中都需要自己实现.下面,本文将讨论具体的实现方法: 在之前的文章中,我们使用promise的传递特性来实现中间件部分的功能.今天,我们将使用promise的特性用一个简单的函数来实现上文需要的分页任务方法. 实现思路 在promise语法中,我们拥有Promise.all方法,通过Promise.all,我们可以让一串任务(数组)同时执行, »

Orc开发日志01-使用Promise实现中间件

在Orc Engine开发过程中,需要用到中间件系统(middleware).目的是帮助输入数据按中间件进行流式处理并最终输出处理结果. 实现目的 在预想中,我们通过载入一个中间件函数列表,每个函数包含输入数据及下一步的呼出内容. [function(input,next){ //do something. & call next(err,output) }] 最终,通过读取中间件函数最后一次执行的输入数据,就可以完成一个数据在中间件内部的流式处理. 实现方法 由于es6中Promise本身就可以处理类似的问题,所以我们使用Promise来连接函数和函数之间的处理. /** * Create »