async同步异步

1.同步:
var async = require("async");
async.series([step1, step2, step3],
function(err, values) {
do somethig with the err or values v1v2v3
});
var async = require(‘async‘);
async.series([function(cb) {
step1(function(err, v1) {
// do something with v1
cb(err, v1);
}),
function(cb) {
step2(...)
},
function(cb) {
step3(...)
}],
function(err, values) {
// do somethig with the err or values v1/v2/v3
});
2.并行:
async.parallel([function(cb) {
t.fire(‘a400‘, cb, 400)
},
function(cb) {
t.fire(‘a200‘, cb, 200)
},
function(cb) {
t.fire(‘a300‘, cb, 300)
}],
function(err, results) {
log(’1 err: ‘, err); // -> undefined
log(’1 results: ‘, results); // ->[ ‘a400‘, ‘a200‘, ‘a300‘ ]
});
3.瀑布:多个函数依次执行,且前一个的输出为后一个的输入
async.waterfall([function(cb) {
log(‘1: ‘, ‘start‘);
cb(null, 3);
},
function(n, cb) {
log(‘2: ‘, n);
t.inc(n, cb);
},
function(n, cb) {
log(‘3: ‘, n);
t.fire(n * n, cb);
}],
function(err, result) {
log(’1 err: ‘, err); // -> null
log(’1 result: ‘, result); // -> 16
});

时间: 2024-10-22 05:32:53

async同步异步的相关文章

ASP.NET sync over async(异步中同步,什么鬼?)

转自:http://www.cnblogs.com/xishuai/p/asp-net-sync-over-async.html async/await 是我们在 ASP.NET 应用程序中,写异步代码最常用的两个关键字,使用它俩,我们不需要考虑太多背后的东西,比如异步的原理等等,如果你的 ASP.NET 应用程序是异步到底的,包含数据库访问异步.网络访问异步.服务调用异步等等,那么恭喜你,你的应用程序是没问题的,但有一种情况是,你的应用程序代码比较老,是同步的,但现在你需要调用异步代码,这该怎

使用ab.exe监测100个并发/100次请求情况下同步/异步访问数据库的性能差异

ab.exe介绍 ab.exe是apache server的一个组件,用于监测并发请求,并显示监测数据 具体使用及下载地址请参考:http://www.cnblogs.com/gossip/p/4398784.html 本文的目的 通过webapi接口模拟100个并发请求下,同步和异步访问数据库的性能差异 创建数据库及数据 --创建表结构 CREATE TABLE dbo.[Cars] ( Id INT IDENTITY(1000,1) NOT NULL, Model NVARCHAR(50) 

同步,异步,串行队列,并发队列,全局队列,主队列等概念的总结

同步,异步,串行队列,并发队列,全局队列,主队列等概念的总结 在GCD函数中, 我们常常碰到同步,异步,串行队列,并发队列,全局队列,主队列等概念,而这些概念又常常组合在一起, 十分头疼, 这篇文章就来梳理一下这些烦人的概念. 不想看长篇大论的, 直接看文章末尾的表格即可! 在此之前, GCD中还涉及到两个十分重要的概念, 就是任务和队列 任务(Task): 你需要执行的操作 队列(Queue): 存放任务的容器 GCD中两个重要的函数, 一个同步执行, 一个异步执行 dispatch_asyn

同步异步问题经典文章!!!!

http://www.cnblogs.com/mashang/archive/2009/08/01/1536730.html http://www.cnblogs.com/artech/archive/2009/05/22/1486761.html http://www.cnblogs.com/zhangchenliang/archive/2012/07/26/2610385.html 解决线程同步异步问题? 1. 用什么方法? 2.为什么 Lock就行? 原理? 关键点:1. lock(thi

(转)同步异步/阻塞非阻塞 和 5种linux网络通信模型

会阻塞的函数:connect, accept,send/recv/sendto/recvfrom等读写函数. 不会阻塞的函数:bind, listen,socket, closesocket. linux网络通信模型有: 阻塞IO模型(同步),非阻塞IO模型(拷贝同步),IO复用模型(多线程同步),信号驱动IO模型((拷贝同步),异步IO模型(异步). node.js对同步/异步,阻塞非阻塞的解释: 线程在执行中如果遇到磁盘读写或网络通信(统称为I/O 操作),通常要耗费较长的时间,这时 操作系

AJAX请求详解 同步异步 GET和POST

AJAX请求详解 同步异步 GET和POST 上一篇博文(http://www.cnblogs.com/mengdd/p/4191941.html)介绍了AJAX的概念和基本使用,附有一个小例子,下面基于这个例子做一些探讨. 同步和异步 在准备请求的时候,我们给open方法里传入了几个参数,其中第三个参数为true时,表示是异步请求: //1. prepare request xmlHttpRequest.open("GET", "AjaxServlet", tru

spring boot 学习(十一)使用@Async实现异步调用

使用@Async实现异步调用 什么是"异步调用"与"同步调用" "同步调用"就是程序按照一定的顺序依次执行,,每一行程序代码必须等上一行代码执行完毕才能执行:"异步调用"则是只要上一行代码执行,无需等待结果的返回就开始执行本身任务. 通常情况下,"同步调用"执行程序所花费的时间比较多,执行效率比较差.所以,在代码本身不存在依赖关系的话,我们可以考虑通过"异步调用"的方式来并发执行. &q

30分钟读懂进程线程、同步异步、阻塞非阻塞、并发并行

基本概念 1 进程和线程 进程(Process): 是Windows系统中的一个基本概念,它包含着一个运行程序所需要的资源.一个正在运行的应用程序在操作系统中被视为一个进程,进程可以包括一个或多个线程.线程是操作系统分配处理器时间的基本单元,在进程中可以有多个线程同时执行代码.进程之间是相对独立的,一个进程无法访问另一个进程的数据(除非利用分布式计算方式),一个进程运行的失败也不会影响其他进程的运行,Windows系统就是利用进程把工作划分为多个独立的区域的.进程可以理解为一个程序的基本边界.是

福运来源码搭建与ajax同步异步

Ajax的请求方式根据异步参数的不同,可分为同步异步,默认为异步请求真 async:true //异步 async:fasle //同步 同步请求即当Ajax发出请求后,会把页面的所有代码停止加载,即页面进入假死状态,必须等Ajax请求 福运来源码搭建QQ:2152876294 网址diguaym.com完成返回数据后,才会解除假死状态,继续执行其他代码.异步请求则这个Ajax代码运行的时候其他代码一样可以运行. $.ajax({ type:"POST", url:"${st