gpt4 book ai didi

javascript - 等待 json 在 javascript 中完成

转载 作者:行者123 更新时间:2023-11-28 03:44:37 25 4
gpt4 key购买 nike

我读过一篇very similar subject但我不使用 JQuery。

问题是:我希望在调用我的函数之前完全加载我的 json。我知道我必须使用回调,但我不知道为什么我的大脑无法做到这一点。

这是“json”(被 chop ,因为它不是主题):

{type: "robot", nom: "445250sup01", ville: "RENNES", departement: "35", region: "Ouest", …}
{type: "robot", nom: "445250sup02", ville: "PARIS", departement: "75", region: "Ile-de-France", …}
{type: "robot", nom: "445250sup13", ville: "ORLEANS", departement: "45", region: "Ouest", …}

这是我的函数 xhr 的调用和 json 的读取:

var getDatas = getXHR(), // xhr in another file
regions = {};
dateRange = [];

getDatas.open("GET", "./db/datas.json", true);
getDatas.send();

getDatas.onreadystatechange = function() {
if (getDatas.readyState === 4 && (getDatas.status === 200 || getDatas.status === 0)) {
var robotsList = JSON.parse(getDatas.responseText);
getRobotsDatas(robotsList);
}
};

function getRobotsDatas(robotList) {
for (var i = 0; i < robotList.length - 1; i++) {...}

问题是最后一个对象从未加载......您能帮我找到正确的方法吗?

提前谢谢您!

最佳答案

假设robotsList实际上是一个对象数组(从你的“json”片段中并不完全清楚(就这一点而言,它根本不是json))。

您可能想看看在 getRobotsDatas 函数中循环遍历数组的方式。

你做的一个周期太少了。那就是

for (var i = 0; i < robotList.length - 1; i++)

应该是

for (var i = 0; i < robotList.length; i++) // removed the - 1

for (var i = 0; i <= robotList.length - 1; i++) // changed < to <=

我认为第一个更清楚。

关于javascript - 等待 json 在 javascript 中完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48620558/

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