如何在Javascript node.js中同步运行parseString()函数
我有这段代码,其中我运行如何在Javascript node.js中同步运行parseString()函数,javascript,node.js,Javascript,Node.js,我有这段代码,其中我运行parseString()从xml文件中提取一些信息 function parseTime(){ var parser = new xml2js.Parser(); var data = fs.readFileSync('C:\\Temp\\tasks\\acis\\110-1100.sat\\110-1100.sat.response.xml', {encoding:'utf8'}); parser.parseString(data, function (err,
parseString()
从xml文件中提取一些信息
function parseTime(){
var parser = new xml2js.Parser();
var data = fs.readFileSync('C:\\Temp\\tasks\\acis\\110-1100.sat\\110-1100.sat.response.xml', {encoding:'utf8'});
parser.parseString(data, function (err, result) {
var timeString = result.Message.Response[0].Events[0].MessageReportEvent[8].$.Message;
var fileTime = timeString.substr(13,20);
var filetimeVal = parseFloat(fileTime);
console.log(filetimeVal);
return filetimeVal;
});
};
我应该做什么更改才能同步运行
parseString
,或者是否有方法通过不同的同步方法提取xml数据已同步运行parseString
的回调。您的程序将在到达任何其他代码行之前到达解析结果
有一个async
开关,在选项中默认为false
然而,开发人员警告说,这个默认值将来可能会改变
async(默认为false):回调是否应该是异步的?这可能是一个错误
如果代码依赖于的同步执行,则更改不兼容
回调。xml2js的未来版本可能会更改此默认值,因此
建议无论如何不要依赖于同步执行。加入
0.2.6
你看过这个库的API文档了吗?它们是否提供同步方法?如果是,就用这个,如果不是,你就不走运了。将代码更改为异步工作。文档表明回调是同步调用的,有一个选项可以使其异步-