[英]DataMaps js problem using async functions
我创建了一个从 API 获取数据的脚本,格式化数据并使用 DataMaps http://datamaps.github.io/使用它。
在 my.js 文件中,我可以简单地调用:
var map = new Datamap({element: document.getElementById('container')});
它将在选定的 div 中呈现 map。 问题是,如果我在异步 function 中使用它来从 API 获取数据并渲染充满 API 数据的 map,我会收到此错误:
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)
...
如果我只是在异步 function 中以这种方式调用 map,我什至会收到此错误,因此数据不是问题:
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();
如果我把var map = new Datamap({element: document.getElementById('container')}); 在 function 之外它可以工作。 我对此一无所知。
任何帮助,将不胜感激。 第一篇文章和英语不是我的主要语言。
错误地判断,您使用了不存在的变量“选择”或空变量。 也许我拼错了我的英语水平不是很好
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.