Javascript 如何使用来自api url的json填充颜色映射?
我用一个json文件加载一个地图,该文件用topojson加载数据以生成它。 然后我需要用Javascript 如何使用来自api url的json填充颜色映射?,javascript,d3.js,Javascript,D3.js,我用一个json文件加载一个地图,该文件用topojson加载数据以生成它。 然后我需要用.attr(“fill”)为状态着色。在这里,我调用一个异步函数,该函数返回带有颜色的值。在控制台日志中返回该值,但在html中它是一个promise对象 我如何解决这个问题 d3.json("/states.json", function (error, us) { if (error) throw error; g.append("g") .attr("id", "states")
.attr(“fill”)
为状态着色。在这里,我调用一个异步函数,该函数返回带有颜色的值。在控制台日志中返回该值,但在html中它是一个promise对象
我如何解决这个问题
d3.json("/states.json", function (error, us) {
if (error) throw error;
g.append("g")
.attr("id", "states")
.selectAll("path")
.data(topojson.feature(us, us.objects.states).features)
.enter()
.append("path")
.attr("d", path)
.on("click", clicked)
.on("load", getTotal())
.attr("fill", async function (d) {
var value = await getValues(d.properties.IN1)
console.log(value[0].color)
return value[0].color;
});
});
async function getValues(state_id) {
let response = await fetch("/api/" + state_id);
let data = await response.json();
return data;
}