Nodejs async.whilst()只运行一次

时间:2015-09-04 19:13:33

标签: node.js asynchronous

我正在编写脚本来批量处理一些文本文档并将它们插入到mysql数据库中。我试图使用异步库,因为使用标准的while循环会阻塞事件队列并阻止插入查询在生成所有内容之前运行。由于这可能需要10分钟或更长时间,我会暂停。所以,我试图使用异步来避免阻塞主线程。但是,它没有按预期工作。当我在命令行中使用node test.js运行下面代码的最简单形式时,它只执行一次,而不是无限执行。似乎计算机正在提前终止节点进程,因为它是非阻塞的。当然,这不是我想要的。为什么这样,我怎样才能让它正常工作?

//this code should run forever, constantly printing "working". However it only runs once.
var async = require('async')    
async.whilst(function(){return true},function(){console.log("working")})

1 个答案:

答案 0 :(得分:2)

this的第二个参数是接收回调的函数,当当前迭代“完成”时需要调用该函数。

因此,如果您以这种方式修改代码,您将得到您期望的结果:

filmId