sql >> データベース >  >> NoSQL >> Redis

最後のstream.on('data')イベントで非同期関数のコールバックを待ちます

    この問題は、非同期ライブラリを使用して解決できます。以下のパターンは、どのストリームにも使用できます。

    var AsyncLib = require('async');
    
    var worker = function (payload, cb) {
        //do something with payload and call callback
        return cb();
    };
    
    var concurrency = 5;
    var streamQueue = AsyncLib.queue(worker, concurrency);
    
    var stream = //some readable stream;
    
    stream.on('data', function(data) {
        //no need to pause and resume
        var payload = '//some payload';
        streamQueue.push(payload);
    })
    .on('end', function() {
        //register drain event on end and callback
        streamQueue.drain = function () {
            callback();
        };
    });
    



    1. 価格が文字列として保存されているMongoDB$gt /$lt演算子

    2. Promiseを介してmongodb接続を再利用する方法

    3. MapReduceのHadoopOutputFormatとは何ですか?

    4. ループバックでのMongoDBアグリゲーション