node.js 之 async 的坑

最近在写自己的app,从前到后都是自己一个人做,因为后台nodejs的一个需求要同步顺序执行,所以用到了async模块,有坑所以写下经验。
Demo如下

var path = require('path');
var fs = require('fs');
var async = require('async');

var i = 0;
var callback = function(){console.log('...');};
var array = ['1', '2', '3', '4'];

//因为callback什么实际事情都不做,所以就只传入,不调用
async.eachSeries(array, function(obj, callback){
    console.log(obj);
});
console.log('****');

发现输出

xxx-MacBook-Pro:util xxx$ node test.js 
1
****
xxx-MacBook-Pro:util xxx$ 

怎么会只做一次呢?明明就是要做4次的呀!坑在这里

callback函数必须要调用

我没有看async的代码,仅仅猜想是async模块需要根据callback来确定函数的执行情况。

不管怎么样,加入callback的调用后,程序执行正常了!

var path = require('path');
var fs = require('fs');
var async = require('async');

var i = 0;
var callback = function(){console.log('...');};
var array = ['1', '2', '3', '4'];

async.eachSeries(array, function(obj, callback){
    console.log(obj);
        callback();//切记callback一点要调用
});
console.log('****');
xxx-MacBook-Pro:util xxx$ node test.js 
1
2
3
4
****
xxx-MacBook-Pro:util xxx$ 

另外的问题是callback里面‘...’为什么没打印出来呢?

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 本文目录 简介 Napi简介 铁打的hello_world 关于文件头 关于基础数据类型 关于错误处理 关于异常处...
    被叫做逸轩的可儿阅读 12,472评论 1 1
  • 异步编程对JavaScript语言太重要。Javascript语言的执行环境是“单线程”的,如果没有异步编程,根本...
    呼呼哥阅读 12,056评论 5 22
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 177,290评论 25 709
  • 今晚不眠之夜,华山之巅,一剑西来,不服来辩! 一疏浅影 关注有气质,有思想,有内涵,有灵魂,有温度...
    逗霸君阅读 9,182评论 3 8
  • Ⅰ 像大人一樣 擔當 像青年一樣 狂野 像少年一樣 任性 像小孩一樣 天真 最應初心不忘 Ⅱ 守候整個季節 風吹過...
    321小肥仔阅读 2,224评论 0 1

友情链接更多精彩内容