javascript - 将内容从 fetch 写入变量失败
问题描述
我有一个问题,我已经坐了几个小时了。我做了很多研究,但在许多尝试中,没有任何效果。
编写浏览器插件时会出现问题。在 fetch 的帮助下,我想从 web_accessible_resources 中读取一个 JSON 文件并将其保存在一个全局变量中,以便之后我可以更轻松地访问。
但无论我尝试什么,它都不会成功。以下是代码的重要部分。
主要函数调用:
createGlobalWebsiteInformation();
console.log(globalWebsiteInformation.twitter);
获取函数:
function createGlobalWebsiteInformation()
{
// Daten aus websites.json
var websitesURL = browser.runtime.getURL("json/websites.json"); // URL der websites.json
var obj;
fetch(websitesURL)
.then(res => res.json())
.then(data => obj = data)
.then(() => writeToGlobal(obj));
}
写入全局变量的函数
function writeToGlobal(obj)
{
for (const ws of obj.websites)
{
globalWebsiteInformation[ws.website] = ws;
}
}
因此,console.log 始终是“未定义的”,而不是存储在 JSON 中的 twitter 网站信息......
解决方案
推荐阅读
- oracle - 如何获取 Oracle SCHEDULE 的分钟格式的 REPEAT_INTERVAL?
- php - php如何在字符串数组中添加反斜杠
- python - 为 python 3.8.5 安装 pip 包管理器时出错
- php - 在php codeigniter中按下后退按钮时如何停止将登录用户重定向到登录页面
- java - Resteasy返回404
- python - Kickstart Round C 2020 倒计时问题 - 查找连续子数组的数量
- swift - 无法从 Xcode 11.7 构建到 iOS 14 设备
- php - PHP正则表达式以给定数字开始和结束
- linear-programming - 在 OPL 中查找集合的下一个数字
- angular - 角度错误消息:无法绑定到“formGroup”,因为它不是“form”的已知属性