gpt4 book ai didi

javascript - 使用 d3-fetch 模块加载多个文件

转载 作者:搜寻专家 更新时间:2023-11-01 05:03:27 25 4
gpt4 key购买 nike

我尝试从两个不同的来源加载数据。加载数据后,我想在防暴标签文件中使用它。但是我不明白如何加载第二个文件,因为我不太了解异步调用。

我必须在我的代码中修改什么才能获取数据?现在,第二个数据对象是未定义的。这是我的代码:

import { csv, json } from 'd3-fetch'
csv('/data/stations.csv', function (stations) {
json('data/svg_data.json', function (svg) {
return svg
})
stations.position_x = +stations.position_x
stations.position_y = +stations.position_y
stations.animation_time = +stations.animation_time
stations.text_x = +stations.text_x
stations.text_y = +stations.text_y
return stations
}).then(function (stations, svg) {
mount('metro-app', {
stations: stations,
svg_data: svg
})
})

最佳答案

d3-fetch模块使用 Fetch API因此,将返回 Promise对于通过模块的一种便捷方法发出的每个请求。要一次加载多个文件,您可以使用 Promise.all一旦提供给调用的所有 Promise 都已解决,它将返回一个解决的 Promise。

import { csv, json } from 'd3-fetch'

Promise.all([
csv('/data/stations.csv'),
json('data/svg_data.json')
])
.then(([stations, svg]) => {
// Do your stuff. Content of both files is now available in stations and svg
});

这里提供了d3.csvd3.json来从两个文件中获取内容。一旦两个请求都完成,即两个 Promise 都已解决,每个文件的内容将提供给单个 Promise 的 .then()。方法调用。此时您可以访问数据并执行其余代码。

关于javascript - 使用 d3-fetch 模块加载多个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49239474/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com