长话短说,我会显示代码。
some.html
<html><script src="some.js"></script></html>
some.js
window.onload = () => console.log( "onload" );
(async (url, cb) => cb( await ( await fetch(url) ).json() ))
( "some.json", () => console.log( "in async" ) );
和some.html输出:
onload
in async
我已经做了一些工作,例如图像以真实获取的方式加载,因此fetch().then()
对我不起作用。
现在我的问题就如标题所述,如何让“加载”等待“获取”完成?
答案 0 :(得分:1)
我认为您要实现的是在window.onload之前开始获取,但是onload需要等待获取之后再执行其他操作...
const promiseOfSomeData = fetch("some.json").then(r=>r.json()).then(data => {
console.log('in async');
return data;
});
window.onload = async () => {
let someData = await promiseOfSomeJsonData;
console.log("onload");
};