在开始之前,我承认关于 SO 有几个问题听起来可能与我的标题相似,但是,我读到的所有问题都比我的代码更复杂,并且解释似乎与我的情况不相关。
有人可以帮助我了解我的代码(下面的片段)中发生了什么导致此错误的原因:
Uncaught SyntaxError:await 仅在异步函数和模块的顶层主体中有效。
据我所知,await引起错误的是在“顶级”机构中。还是说顶级机构有别的含义?多谢!
编辑以区别于此处的其他建议(类似)问题:我的问题不涉及 httpGet,其他一些上下文是不同的,最重要的是,我收到了一个为我解决问题的答案,与(单独的)中给出的建议不同)回答另一个问题。因此,虽然我已经能够在这里找到解决方案,但我相信我的问题留下来对于普通观众来说是有价值的。
var data;
await getData();
document.body.write(data);
async function getData() {
const res = await fetch("https://jsonplaceholder.typicode.com/posts", {
method: 'GET',
headers: {
'Accept': 'application/json, text/plain, */*',
'Content-type': 'application/json'
}
});
data = await res.json();
}Run Code Online (Sandbox Code Playgroud)