我创建了一个脚本,它从API获取数据,格式化数据并使用DataMaps http://datamaps.github.io/使用它。
在我的.js文件中,我可以简单地调用:
var map = new Datamap({element: document.getElementById('container')});它将在选定的div中呈现地图。问题是,如果我在异步函数中使用它从API中获取数据并呈现充满API数据的映射,则会得到以下错误:
Uncaught (in promise) TypeError: Cannot read property 'select' of undefined
at Datamap.drawSubunits (datamaps.all.js:184)
at draw (datamaps.all.js:789)
at Datamap.draw (datamaps.all.js:768)
at new Datamap (datamaps.all.js:730)
...如果我在异步函数中以这种方式调用映射,甚至会得到这个错误,所以数据不是问题所在:
async function fetchData() {
try {
const response = await fetch('https://corona.lmao.ninja/v2/countries?yesterday=&sort=');
const data = await (response.json());
var map = new Datamap({element: document.getElementById('container')});
return data;
} catch (error) {
console.error(error);
}
}
fetchData();如果我将document.getElementById('container')}); var map = new ({:)放在函数之外,它就能工作。我对此一无所知。
任何帮助都将不胜感激。第一篇文章和英语不是我的主要语言。
发布于 2020-05-22 22:45:18
错误地判断,您使用了不存在的变量“select”或一个空变量。也许我拼错了我的英语水平不太好
https://stackoverflow.com/questions/61964715
复制相似问题