ThenJS
安装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的更多相关文章
- thenjs的应用
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 2014 Hangjs 见闻流水账第一天
前言 6月21日~6月22日, 第一次跑远门去参加一个大会(广州 -> 杭州),本来打算,在火车的回来的路上,把这两天的东西记录一下,不过,火车上的环境实在恶劣,同时也高估了自己的专注力,所以, ...
- 关于关注和取消关注的nodejs写法
本例子的关注和取消关注,是通过ajax的方法实现的:nodejs后台写好api接口:响应前台的ajax 先看ajax的代码实现: // 用户关注标签 function subscribe(uid, t ...
- express中路由设置的坑-----1
router.get('/commodities/sortable', utils.logged, function (req, res) { Commodity.find({force_top:tr ...
- nodejs项目中的路由写法
//两种路由写法,一种封装成函数,返回结果,此种方法可以传递参数, "use strict"; var _ = require("lodash"); var e ...
- node.js爬虫
这是一个简单的node.js爬虫项目,麻雀虽小五脏俱全. 本项目主要包含一下技术: 发送http抓取页面(http).分析页面(cheerio).中文乱码处理(bufferhelper).异步并发流程 ...
- (转) Read-through: Wasserstein GAN
Sorta Insightful Reviews Projects Archive Research About In a world where everyone has opinions, on ...
- angular的require模块的使用($requireProvider的作用)
今天我们学习一下angular的另一个几乎被忽略的模块angular-require 先给出链接地址(git:) https://github.com/Treri/angular-requir ...
- 如何在项目中使用requireJS
本文主要讲讲如何在一个项目中合理的使用requireJS,来加载js代码,这里是个实际例子,讲解不多, 看详情请连接到:http://www.cnblogs.com/evaling/p/6722760 ...
随机推荐
- 【bzoj4804】欧拉心算 莫比乌斯反演+莫比乌斯函数性质+线性筛
Description 给出一个数字N 求\(\sum_{i=1}^{n}\sum_{j=1}^{n}\varphi(gcd(i,j))\) Input 第一行为一个正整数T,表示数据组数. 接下来T ...
- 详细grep、sed、awk
[root@VM_0_7_centos tmp]# cat 1.txt 1 2 3 4 5 6 [root@VM_0_7_centos tmp]# cat 2.txt 4 5 6 7 8 [root@ ...
- 在Delphi中获取和修改文件的时间
转载自 http://www.cnblogs.com/jieke/archive/2013/01/11/2855782.html 本文介绍了在Delphi中利用系统函数和Windows API函数调用 ...
- 详说Flask、Django、Pyramid三大主流 Web 框架
前言 目前随着 Python 在大数据.云计算.人工智能方面的热度,Python Web 应该也会被更多企业了解使用. Python Web 框架千万种,没必要都去了解和学习,身边总有人说高手都用 F ...
- 【算法】关于图论中的最小生成树(Minimum Spanning Tree)详解
本节纲要 什么是图(network) 什么是最小生成树 (minimum spanning tree) 最小生成树的算法 什么是图(network)? 这里的图当然不是我们日常说的图片或者地图.通常情 ...
- bash: ./AdobeAIRInstaller.bin: No such file or directory
# chmod a+x AdobeAIRInstaller.bin # ./AdobeAIRInstaller.binbash: ./AdobeAIRInstaller.bin: No such fi ...
- EasyUI学习笔记(二)—— Layout
一.layout页面布局 EasyUI布局容器包括东.西.南.北.中五个区域,其中中心面板是必须的,而东.西.南.北这四个面板是可选的,如果布局里面不需要东.西.南.北这四个面板,那么可以把相应的di ...
- Android 基于TCP多线程通信实现群聊天的功能
1.TCP多线程原理图 2.实现方法 (1)服务器端 (2)客户端 3.java后台代码 主界面 package com.lucky.test50socket2; import android.ann ...
- FileReader 方法 实现预览图片
FileReader 方法 方法名 参数 描述 abort none 中断读取 readAsBinaryString file(blob) 将文件读取为二进制码 readAsDataURL file( ...
- Tensorlflow-神经网络解决非线性回归问题
import tensorflow as tfimport numpy as npimport matplotlib.pyplot as plt #使用numpy生成200个随机点,范围从-0.5到0 ...