- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图将对象数组返回给函数,并查看调试器,它看起来只是返回一个空数组。
这是我希望使用的功能:
// load from json file
loadData(filepath) {
let rooms = [];
fetch(filepath)
.then(
res => res.json()
)
.then(function (data) {
// console.log(data);
for (let i = 0; i < data.rooms.length; i++) {
rooms.push(data.rooms[i]);
}
});
return rooms;
}
我进入调试器,看到 data.rooms 中的房间被推送到我的本地房间对象,但是当我回到应该使用此房间数据的 init() 函数时:
let rooms = this.loadData(this.datapath); // TODO: make games load from json data
for (let i = 0; i < rooms.length; i++) {
this.addRoom(rooms[i].name, rooms[i].getText, rooms[i].prompts, rooms[i].requirements);
}
看起来它传递了一个空数组。是否存在范围问题或我遗漏了什么?我对 fetch/promises/JSON 不太有经验。
很高兴提供任何可能有用的进一步信息。谢谢!
最佳答案
问题是您的本地变量房间将在异步获取完成之前返回。
您可以简单地等待 fetch 语句并使函数异步:
async loadData(filepath) {
let rooms = [];
const response = await fetch(filepath);
const data = await response.json();
console.log(data);
for (let i = 0; i < data.rooms.length; i++) {
rooms.push(data.rooms[i]);
}
return rooms;
}
let rooms = await this.loadData(this.datapath);
关于javascript - loadData() 返回空数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59239308/
在 liquibase 中,我可以包含相对于当前脚本文件的路径的文件: 在更改集中,我还可以指向一个包含要插入的数据的文件,例如像这样: 但是,这次我需要使用相对于我运行 liquiba
我试图将对象数组返回给函数,并查看调试器,它看起来只是返回一个空数组。 这是我希望使用的功能: // load from json file loadData(filepath) { le
下面是我的完整代码。没有错误,并且显示了 Directory is empty。 $(document).ready(function() { $("#table").jsG
我在 Main 扩展 Activity 中有此代码 public void loaddata() { Toast.makeText(Main.this, ("Worki
尝试在我的本地机器上使用 loaddata 时(win/sqlite): python django-admin.py loaddata dumpdata.json 我收到以下错误: raise Im
我正在尝试使用 loaddata 从 django 项目上的转储数据生成的 json 文件中加载一些数据,并将其加载到具有新数据库的新文件中。与数据库的连接似乎可以正常工作,但几乎马上我就收到了对关系
我有一个带有条目列表的装置。例如: [ { "fields": { "currency": 1, "price": "99.99", "product_
我最近在导入比当前模型架构更旧的数据时遇到问题。我使用并导致错误的流程: dumpdata 与 python manage.py dumpdata -> 0002 对模型进行一些修改 使用 pytho
我使用 Ajax 将数据加载到 jsGrid 中。 我有以下代码: $("#jsGrid").jsGrid({ width: "100%", height: "100%", a
这个thread (对我来说)太困惑了,所以我再次问这个问题。我无法使原始问题中提到的 csv2json.py 脚本工作。我只是想找到一种将数据导入到 sqlite3 数据库的方法。 这是我正在使用的
我正在尝试从 txt 文件加载数据,但它只会读取 txt 文件的一行。当我在 loadData 方法的 for 循环中指定 int I 变量的内容时,它将打印该特定行。我不知道为什么它不只是添加和打印
我有一个从 sqlite 数据库创建的巨大 转储文件,并尝试将其加载到 postgres 数据库中。 有些行是无效的,我想跳过它们。例如,有些对象的 char 字段限制为 1000 个字符,实际上有些
我是 css 和 android 的新手。我正在尝试在 webview 中加载要点,但是当我使用 webview.loadData(content, "text/html", "utf-8"); 时,
我使用 loadData() 和 reload() 更新 webView 中的 html。我获得了要显示的新数据,但页面滚动尚未更新。我想将页面的 View 保留在底部。我可以等很长时间,它仍然没有更
我使用 dumpdata 转储了我的数据库并创建了一个 500mb 的 json 文件 现在我正在尝试使用 loaddata恢复数据库,但似乎 Django 在应用它之前尝试将整个文件加载到内存中,我
如何在 webview 中将土耳其语字符(ş、ğ、ü ...)显示为 loadData? 我的网页 View 是:mWebView.loadData(detailsHtml, "text/html",
可以使用以下方法来设置网页 View 的内容loadData(String data, String mimeType, String encoding) html数据编码未知的问题如何处理?! 有编
我正在尝试从 sqlite 迁移到 google 管理的 postgres 数据库。它在本地与在 docker 中运行的 postgres 数据库一起工作,但是当我尝试 python manage.p
你能帮我解决我在使用 loadData 函数作为 Ext.data.JsonStore 的一部分时遇到的问题吗?我已经创建了一个我遇到的问题的基本示例: Ext JSON ex
我有一个模型覆盖 save() 来抑制一个字段: class MyModel(models.Model): name = models.CharField(max_length=200)
我是一名优秀的程序员,十分优秀!