Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 确定Node.js中forEach中调用的最后一个异步函数_Javascript_Node.js_Asynchronous - Fatal编程技术网

Javascript 确定Node.js中forEach中调用的最后一个异步函数

Javascript 确定Node.js中forEach中调用的最后一个异步函数,javascript,node.js,asynchronous,Javascript,Node.js,Asynchronous,在docs.forEach的每次迭代中,我都有一个异步函数调用queue.enqueue。如何确定上次迭代的docs.forEach 以下代码多次打印console.log消息,而不是在最后一次queue.enqueue调用中 var mongojs = require('mongojs') var db = mongojs('localhost/test') var collection = db.collection('myCollection') var monq = require('

docs.forEach
的每次迭代中,我都有一个异步函数调用
queue.enqueue
。如何确定上次迭代的
docs.forEach

以下代码多次打印
console.log
消息,而不是在最后一次
queue.enqueue
调用中

var mongojs = require('mongojs')
var db = mongojs('localhost/test')
var collection = db.collection('myCollection')

var monq = require('monq')
var client = monq('mongodb://localhost:27017/test')
var queue = client.queue('testQueue')



async.waterfall([

    function(callback) {
        collection.find({}, function(err, docs) {
            callback(null, docs)
        })
    },


    function(docs, callback) {
        docs.forEach(function(doc, index) {

            // Async call here
            queue.enqueue('someTask', doc, function(err, job) {
                // Determining the last iteration of docs.forEach
                if(index = docs.length-1) {
                    console.log('this is the last async call')
                    callback(null)
                }
            }

        })
    }

])
if(index==docs.length-1)