[英]How can I manage asynchronous in Node js
我現在不知道如何使用異步來執行此操作。 我有一個文件調用“ jsonFileData.js”,在這里是:
// jsonFileData.js
var fs = require('fs'),
Converter = require('csvtojson').Converter,
csvConverter = new Converter();
function jsonFile(filename) {
csvConverter.on("end_parsed",function(jsonObj)
return jsonObj;
});
fs.createReadStream('../csv_parse/' + filename + '.csv').pipe(csvConverter);
}
module.exports = {
language: jsonFile('language'),
};
另一個文件名為“ main.js”
// main.js
var jsonFile = require('./jsonFileData');
console.log(jsonFile.language);
當我運行“ main.js”時,它顯示為“未定義”。 如何制作“ var jsonFile = require('./ jsonFileData');” 在開始打印結果“ jsonFile.language”之前完全運行? 感謝您閱讀我的問題。
您的異步回調不正確。 與我在下面所做的更改進行比較。
// jsonFileData.js
var fs = require('fs'),
Converter = require('csvtojson').Converter,
csvConverter = new Converter();
function jsonFile(filename,callback) {
csvConverter.on("end_parsed",function(jsonObj) {
return callback(null, jsonObj);
});
fs.createReadStream('../csv_parse/' + filename + '.csv').pipe(csvConverter);
}
module.exports = {
language: jsonFile
};
並在您的main.js
文件中:
// main.js
var jsonFile = require('./jsonFileData');
jsonFile.language('language', function(err, jsonObj){
if(err){
console.log(err);
return;
}
console.log(jsonObj);
console.log("Hello World!"); // Edit based on comment
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.