我正在使用 xml2js,并且我需要保持健壮,因为无法保证 xml 的源格式良好。因此,我需要确保所有错误都能够得到处理。如果代码看起来像这样:
let parseString = require('xml2js').parseString;
let xml = getTheXml(...);
parseString(xml, (err, result) => {
if (err) { handleError(err) }
else { handleResult(result); }
});
我能否保证 parseString
永远不会抛出错误,并且所有错误都作为 err
对象传递给回调?
或者为了更安全,我需要执行以下操作:
let parseString = require('xml2js').parseString;
let xml = getTheXml(...);
try {
parseString(xml, (err, result) => {
if (err) { handleError(err) }
else { handleResult(result); }
});
} catch (err) { handleError(err); }
此外,我能否保证 parseString
同步执行?
最佳答案
实现错误优先回调设计时的预期行为是它不是同步的,并且任何错误都会作为第一个参数传递。
“保证”..我不是该模块的作者或贡献者,所以我不能对此说什么。如果您需要确定,请编写一个测试..
关于javascript - xml2js 是否保证同步并且会抛出错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43852310/