我是React-Native的新手,遇到一个我无法解决的问题。我正在关注一个涉及一些XML解析的基本API教程。我收到以下错误:
[未处理的承诺拒绝:TypeError:e.replace不是函数。 (在'e.replace(/ \ s {2,} / g,“”)'中,'e.replace'未定义)] *如果需要,我可以提供更多错误详细信息* >
从下面的代码(请注意,我也有一些基本的HomeScreen代码调用该类):
var XMLParser = require('react-xml-parser');
export default class MLBGamedayApi {
constructor() { }
static getDayUrl(year, month, day){
if (month < 10){ month = "0" + month; }
if (day < 10){ day = "0" + day; }
return MLBGamedayApi.BaseUrl
+ "/components/game/mlb/"
+ "year_" + year + "/"
+ "month_" + month + "/"
+ "day_" + day + "/";
}
static getListOfGamesForDay(year, month, day){
var epgURL = MLBGamedayApi.getDayUrl(year, month, day) + "epg.xml";
return fetch(epgURL)
.then(function(response) { return response.text; })
.then(function(text) { return MLBGamedayApi.parseXML(text) })
.then(function(data) {
var games = data.getElementsByTagName("game");
var urls = games.map(function(game) {
var url = game.attributes["game_data_directory"];
return url;
});
return Promise.resolve(urls);
})
}
static parseXML(s){
var xml = new XMLParser().parseFromString(s);
return Promise.resolve(xml);
}
}
MLBGamedayApi.BaseUrl = "https://gd2.mlb.com";
我的直觉告诉我该错误是由parseXML方法引起的。让我感到困惑的是,我实际上没有调用.replace,所以想知道为什么甚至抛出该错误-也许我使用的库版本错误?
在这些初学者阶段非常感谢提供的任何帮助。
谢谢!