javascript - xml2js 是否保证同步并且会抛出错误?

标签 javascript node.js error-handling xml2js

我正在使用 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/

相关文章:

javascript - Ext JS 6 无法右对齐我的按钮 xtype

javascript - 在 angularjs 中设置选择选项值/id 以与 ajax/php 插入一起使用

javascript - Node.JS - 无法读取未定义的属性 'ColorType'

javascript - 我的字体不能在 Firefox 上呈现,也不能在谷歌浏览器上呈现

javascript - 将更改图像链接的 jQuery 函数

node.js - 为什么在使用 --recursive 标志运行 mocha 时嵌套的 mocha 测试套件不运行

node.js - 使用服务帐户的 Google 身份验证失败 (node.js)

c++ - 抛出或返回错误

excel - Excel VBA错误处理程序找不到文件…如何跳过它?

python - 当我在Python中运行文件时出现ValueError