Async的使用,为何这样写实现不了顺序执行?
async.series(
[
function(callback){
writeLog(callback);
},
function(callback){
readLog(callback);
},
function(callback){
funcEnd(res, callback);
}
]
);
想顺序执行这三个方法,但是总是并发执行,是不是哪里写的不对呢?
function writeLog(callback){
fs.openSync(qpage,'w',0666);
for (var i = 1; i <= cnt; i++ ) {
client.hgetall(i, function(err, obj) {
fs.appendFileSync(qpage, "<br />" +util.inspect(obj), encoding='utf8');
});
}
callback(null);}
function readLog(callback){
query = fs.readFileSync(qpage, 'utf8');
callback(null);}
function funcEnd(res, callback){
res.end(query, 'utf8');
callback(null);}
5 回复
你的业务代码都是同步执行的啊
仅仅几个需求是,毕竟还是因为并发才选择的Node
目测没什么问题。。。。应该是顺序执行的吧
哦,发现一个问题了 client.hgetall,这个是异步的还是同步的?如果是异步的话, 就会有问题
@saber - -还真是这个的问题!