我没有';t获取node.js的库异步,其中i';我错了?
我尝试了很多在nodejs中使用aync库,但我最简单的测试甚至都不起作用我没有';t获取node.js的库异步,其中i';我错了?,node.js,asynchronous,Node.js,Asynchronous,我尝试了很多在nodejs中使用aync库,但我最简单的测试甚至都不起作用 var async = require('async'); var i = 0 ; var inc = function(){ i++; } ; var show = function(){ console.log(i) ; } ; var err = function(err){ console.log(err) ; } ; async.forever(inc,err) ; async
var async = require('async');
var i = 0 ;
var inc = function(){
i++;
} ;
var show = function(){
console.log(i) ;
} ;
var err = function(err){
console.log(err) ;
} ;
async.forever(inc,err) ;
async.forever(show,err) ;
函数根本不循环,输出仅为
1
我做错了什么请。async.forever()
var inc = function(done){
i++;
setImmediate(done);
};
var show = function (done) {
console.log(i);
setImmediate(done);
};
使用(或)使调用异步,因此不会出现堆栈溢出错误:
var inc = function(done){
i++;
done();
};
记住,async
库不会使任务异步;它假定这些任务已经是异步的,并简单地帮助管理它们。将同步任务与async
一起使用在大多数情况下仍然会阻塞。async.forever()
将回调
传递给show
和inc
,它们需要调用:
var inc = function(done){
i++;
setImmediate(done);
};
var show = function (done) {
console.log(i);
setImmediate(done);
};
使用(或)使调用异步,因此不会出现堆栈溢出错误:
var inc = function(done){
i++;
done();
};
记住,async
库不会使任务异步;它假定这些任务已经是异步的,并简单地帮助管理它们。将同步任务与async
一起使用在大多数情况下仍然会阻塞。你很棒,它可以工作,我理解为什么,谢谢你的解释。你很棒,它可以工作,我理解为什么,谢谢你的解释。