【发布时间】:2020-10-03 10:38:19
【问题描述】:
我正在通过 API 解析一些数据,我的解析代码如下所示,
parseXML(data) {
return new Promise((resolve) => {
var k: string | number,
arr = [],
parser = new xml2js.Parser({
trim: true,
explicitArray: true,
});
parser.parseString(data, function (err, result) {
var obj = result.ApiResponse;
for (k in obj.CommandResponse) {
var item = obj.CommandResponse[k];
arr.push({
info: item.DomainCheckResult[0],
});
}
resolve(arr);
});
});
}
这是我的解析器代码,但我仍然收到控制台错误
core.js:4197 ERROR Error: Uncaught (in promise): TypeError: Cannot read property 'Parser' of undefined TypeError: Cannot read property 'Parser' of undefined
所以我的问题是代码有什么问题?当我返回一个承诺时,我还能做什么?我正在返回一个新的承诺,然后我调用了解析器,那么我怎么会出错呢? 谁能帮帮我?
【问题讨论】:
-
嗯,它说 xml2js 对象没有设置。也许你必须初始化它/导入它。在这种情况下,新关键字还不够。
-
我已经声明了对象,但仍然没有获取数据。
顶上 import { xml2js } from 'xml2js'; -
@derstauner 感谢您的评论。你的链接很有帮助。我确实解决了这个问题。好吧,代码上有一个拼写错误,主要是昏迷而已。
标签: javascript angular xml2js