安装ThenJs:  npm i thenjs

史上最快,与 node callback 完美结合的异步流程控制库

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script src="then.js"></script>
<script>
// <!-- thenjs第一处,parallel的用法-->
Thenjs.parallel([
function(cb){
var a = [1,1,1,1];
cb(null,a);
},
function(cb){
var b = [2,2,2,2];
cb(null,b);
},
function(cb){
var c = [3,3,3,3];
cb(null,c);
},
function(cb){
var cc = [8,8,8,8,8,8];
var xx = [];
Thenjs.each(cc,function(ecb,p){
xx.push(p*2);
ecb(null,null);
}).then(function(err,ps){
cb(null,xx)
});
}
]).then(function(cb,result){
console.log(result[0]);
console.log(result[1]);
console.log(result[2]);
console.log(result[3]);
});
//模仿查询回调函数
function task(arg,callback){
setTimeout(callback(null,arg),1);
} // <!-- thenjs第二处,eachSeries的用法-->
Thenjs.eachSeries([0, 1, 2], function (cont, value) {
task(value * 2, cont);
}).then(function (cont, result) {
console.log(result);
}); // <!-- thenjs第三处,each的用法-->
Thenjs.each([5, 5, 5], function(ecb,p){
// task(p* 2, ecb);
ecb(null,p*2)
}).then(function (ecb, result) {
console.log(result);
});
//后期继续收集
</script>
</body>
</html>

Thenjs的each方法一个参数是null时,会读取上一个Then链的arg参数,既result

ThenJS的更多相关文章

  1. thenjs的应用

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. 2014 Hangjs 见闻流水账第一天

    前言 6月21日~6月22日, 第一次跑远门去参加一个大会(广州 -> 杭州),本来打算,在火车的回来的路上,把这两天的东西记录一下,不过,火车上的环境实在恶劣,同时也高估了自己的专注力,所以, ...

  3. 关于关注和取消关注的nodejs写法

    本例子的关注和取消关注,是通过ajax的方法实现的:nodejs后台写好api接口:响应前台的ajax 先看ajax的代码实现: // 用户关注标签 function subscribe(uid, t ...

  4. express中路由设置的坑-----1

    router.get('/commodities/sortable', utils.logged, function (req, res) { Commodity.find({force_top:tr ...

  5. nodejs项目中的路由写法

    //两种路由写法,一种封装成函数,返回结果,此种方法可以传递参数, "use strict"; var _ = require("lodash"); var e ...

  6. node.js爬虫

    这是一个简单的node.js爬虫项目,麻雀虽小五脏俱全. 本项目主要包含一下技术: 发送http抓取页面(http).分析页面(cheerio).中文乱码处理(bufferhelper).异步并发流程 ...

  7. (转) Read-through: Wasserstein GAN

    Sorta Insightful Reviews Projects Archive Research About  In a world where everyone has opinions, on ...

  8. angular的require模块的使用($requireProvider的作用)

      今天我们学习一下angular的另一个几乎被忽略的模块angular-require 先给出链接地址(git:)   https://github.com/Treri/angular-requir ...

  9. 如何在项目中使用requireJS

    本文主要讲讲如何在一个项目中合理的使用requireJS,来加载js代码,这里是个实际例子,讲解不多, 看详情请连接到:http://www.cnblogs.com/evaling/p/6722760 ...

随机推荐

  1. ajax-3验证

    $("#formBtn").click(function () { // var regName =/^[\u4e00-\u9fa5]{2,10}$/;//姓名只能是汉字切2-10 ...

  2. StackOverflow: 你没见过的七个最好的Java答案

    StackOverflow发展到目前,已经成为了全球开发者的金矿.它能够帮助我们找到在各个领域遇到的问题的最有用的解决方案,同时我们也会从中学习到很多新的东西.这篇文章是在我们审阅了StackOver ...

  3. 3月份GitHub上最热门的Java开源项目

    今天,我们来盘点3月份GitHub上最热门的Java项目的时候了,如果你每月都有关注猿妹发布的排行榜,那么本月的Java项目对你来说一定不陌生,这些都是曾经多次出现在榜单中的项目: 1 advance ...

  4. 【python】Python任务调度模块 – APScheduler

    APScheduler是一个Python定时任务框架,使用起来十分方便.提供了基于日期.固定时间间隔以及crontab类型的任务,并且可以持久化任务.并以daemon方式运行应用.目前最新版本为3.0 ...

  5. Java面向对象之关键字super 入门实例

    一.基础概念 (一)super关键字 super关键字的用法和this相似.this代表的是当前对象.super代表的是父类中内存空间. 子父类中是不会出现同名属性的情况. (二)继承中.成员变量问题 ...

  6. Python之路Python内置函数、zip()、max()、min()

    Python之路Python内置函数.zip().max().min() 一.python内置函数 abs() 求绝对值 例子 print(abs(-2)) all() 把序列中每一个元素做布尔运算, ...

  7. python创建virtualenv虚拟环境

    pip install virtualenv virtualenv env_py36_crawl env_py36_crawl\Scripts\activate deactivate pip free ...

  8. zabbix 3.0 快速安装文档

    下载地址:http://www.zabbix.com/download.php 官方文档:https://www.zabbix.com/documentation/3.0/manual/install ...

  9. 【python跨目录调用】结合自己遇到的问题到解决问题,作个记录

    写PO的时候,想把page和case 文件分开存不同的文件夹,但是在调用模块的时候就出现了问题.后来终于解决了,记录下 ---------------------------------------- ...

  10. SQL里的real类型和tinyint类型在C#里分别对应类型