0
以下內容將讀取並導入很多CSV文件從磁盤到MongoDB,但如果沒有通過resizePhoto()函數導入所有文件後,NodeJS將不會退出(其中包含調整圖像大小後的一個process.exit)。如何從node.js正確退出
如何在不中斷導入所有文件後正常關閉它?如果我添加一個process.exit .on,它將在導入第一個文件後退出。
var importData = function(fileName) {
// Get file from disk.
var filePath = path.join(folder, fileName);
// Read and import the CSV file.
csv.fromPath(filePath, {
objectMode: true,
headers: keys
})
.on('data', function (data) {
var Obj = new models[fileName](data);
models[fileName].find({}).remove().exec();
Obj.save(function (err, importedObj) {
if (err) {
console.log(fileName, err);
} else if (fileName === 'PHOTOS') {
resizePhoto(importedObj);
}
});
})
.on('end', function() {
console.log(fileName + ': Imported.');
});
};
module.exports = importData;
csv變量來自哪裏? – aaaidan
調用這個的代碼在哪裏?看起來你應該向'importData()'添加一個回調,並在導入完成時調用該回調,然後調用者可以在該回調中執行'process.exit()'。 – jfriend00
@aaaidan來自fast-csv – Gab