2016-10-04 22 views
0

私はnodegsにmongodbのトランザクションを集めてAPIに投稿し、それを実行してcliに戻すスクリプトを書いています。nodejsは永遠に実行し続けます

var request = require('request'); 
var mongoose = require('mongoose'); 
var Transaction = require('./models/transaction'); 
var send_it = function (transaction) { 
    request(URL, {token: transaction.token}, function (err, response,  body) { 
     console.info('Processed'); 
    }); 
}; 
var process_transactions = function (err, transactions) { 
    for (var i = 0; i < transactions.length; i++) { 
     send_it(transactions[i]); 
    } 
}; 

mongoose.connect('mongodb://localhost/forsocios'); 
Transaction.find({captured: false}, process_transactions); 

問題は次のとおりです:このスクリプトはポストするこれ以上のトランザクションが存在しない場合でも、永遠に実行し続ける私はこのような何かを持っています。何故ですか?そして、処理するトランザクションがなくなったら、どうすればそれを終了させることができますか(process.exit(0))?

+0

完了したら、 'mongoose.disconnect()'を呼び出します。 – robertklep

答えて

0

最高のアイデアは、約束と非同期/待機を学ぶことです。

関連する問題