您好,欢迎来到二三娱乐。
搜索
您的当前位置:首页node.js 之 async 的坑

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里面‘...’为什么没打印出来呢?

本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。

热门图文

Copyright © 2019-2025 yule263.com 版权所有 湘ICP备2023023988号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务