Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Javascript node.js中同步运行parseString()函数_Javascript_Node.js - Fatal编程技术网

如何在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文档了吗?它们是否提供同步方法?如果是,就用这个,如果不是,你就不走运了。将代码更改为异步工作。文档表明回调是同步调用的,有一个选项可以使其异步-