我正在使用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
同步执行吗?
答案 0 :(得分:1)
实现错误优先回调设计时的预期行为是它不同步,并且任何错误都作为第一个参数传递。
“保证”..我不是该模块的作者或贡献者,因此我不能对此发表任何意见。如果你需要确定,写一个测试..